home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / windows1 / autoscr4.zip / AS.DOC < prev    next >
Text File  |  1992-11-17  |  125KB  |  2,985 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                              AutoScript
  24.  
  25.  
  26.  
  27.  
  28.                             Version 1.04
  29.  
  30.  
  31.  
  32.                             User's Manual
  33.  
  34.  
  35.  
  36.                     Copyright 1992 by Larry Michaels
  37.  
  38.  
  39.  
  40.                          Table of Contents
  41.  
  42.  
  43.  
  44.   Shareware Notice - Registration......................................1
  45.   Registration Form....................................................2
  46.   Liability Disclaimer.................................................3
  47.  
  48.   1.      Introduction.................................................4
  49.   1.1     What is AutoScript...........................................4
  50.   1.2     Uses of AutoScript...........................................4
  51.   1.2.1   Making Program Demos.........................................4
  52.   1.2.2   Automated Software Testing...................................4
  53.   1.2.3   Increasing Productivity......................................5
  54.   1.3     System Requirements..........................................5
  55.   1.4     Summary of Features..........................................5
  56.   1.4.1   Keyboard Features............................................5
  57.   1.4.2   Screen Features..............................................6
  58.   1.4.3   Script Control Features......................................7
  59.   1.4.4   System Features..............................................7
  60.   1.4.5   Miscellaneous Features.......................................8
  61.  
  62.   2.      Starting AutoScript..........................................8
  63.   2.1     General Notes................................................8
  64.   2.2     Installing AutoScript........................................9
  65.   2.3     Loading AutoScript...........................................9
  66.   2.4     Configuration Settings......................................10
  67.  
  68.   3.      AutoScript Operation........................................13
  69.   3.1     Pop-up Windows..............................................13
  70.   3.1.1   Settings Window.............................................13
  71.   3.1.2   Actions Window..............................................13
  72.   3.2     AutoScript Modes............................................14
  73.   3.3     Extended Keyboard Buffer....................................14
  74.   3.4     Key Repeat..................................................14
  75.   3.5     Key Click...................................................14
  76.   3.6     Blanking the Screen.........................................15
  77.   3.7     Locking the Keyboard........................................15
  78.   3.8     Saving/Displaying Text Screens..............................15
  79.   3.9     Copying Screen Text to a FIle...............................16
  80.   3.10    Printing Screen Text........................................16
  81.   3.11    Stuffing Text Files.........................................16
  82.   3.12    Incremental File Names......................................17
  83.   3.13    Recording Scripts...........................................17
  84.   3.13.1  Recording Keystroke Delays and Keyboard Status Changes......18
  85.   3.13.2  Inserting Comments..........................................18
  86.   3.13.3  Inserting Other Commands....................................18
  87.   3.14    Appending Scripts...........................................19
  88.   3.15    Playing Scripts.............................................19
  89.   3.15.1  Pausing Play................................................19
  90.   3.15.2  Changing Settings During Play...............................19
  91.   3.15.3  Single-Stepping.............................................20
  92.   3.15.4  Locking Keyboard During Play................................20
  93.   3.15.5  Using Text Files as Scripts.................................20
  94.   3.16    Assinging Script Play Hot Keys..............................20
  95.   3.17    Batch Mode..................................................21
  96.   3.18    Unloading AutoScript........................................22
  97.  
  98.  
  99.  
  100.   4.     Creating Scripts With a Text Editor..........................22
  101.   4.1    Line and Block Comments......................................22
  102.   4.2    Commands and Comditions......................................23
  103.   4.3    Keystrokes...................................................23
  104.  
  105.   5.     Commands and Condition Descriptions..........................24
  106.   5.1    Commands.....................................................24
  107.   5.2    Conditions...................................................41
  108.  
  109.   6.     Utilities Included With AutoScript...........................47
  110.   6.1    Script Compiler..............................................47
  111.   6.2    Script Uncompiler............................................47
  112.   6.3    Screen Comparison Utility....................................47
  113.   6.4    KBRATE.......................................................48
  114.  
  115.   7.     Compatibility Issues.........................................48
  116.  
  117.   8.     User Support.................................................49
  118.  
  119.   APPENDIX - New in Version 1.04......................................50
  120.  
  121.  
  122.                                       1
  123.  
  124.  
  125.   Shareware Notice - Registration
  126.  
  127.   AutoScript 1.04 is distributed as SHAREWARE.  This means that you may
  128.   try it out for up to 30 days for free.  If you find AutoScript useful,
  129.   you are required to register by sending a registration form (included
  130.   below), along with any comments and suggestions, and a modest
  131.   registration fee of US $50.  Your registration will:
  132.  
  133.     1.  Let me know that someone is using AutoScript.
  134.     2.  Help me to make improvements and enhancements.
  135.     3.  Entitle you to a receive a disk with a personalized copy of the
  136.         latest version of AutoScript, free upgrades for 2 years, and free
  137.         support via telephone and the RIME Shareware conference.
  138.     4.  Help support me in my software development (and pay the rent).
  139.  
  140.   Even if you do not intend to register, I would appreciate if you would
  141.   let me know what you do not like about AutoScript so that I might make
  142.   improvements, and perhaps fill your particular need.
  143.  
  144.   I plan to introduce, when sufficient demand warrants it, a light version
  145.   of AutoScript which will include all of the script play capabilities,
  146.   but without recording and certain other features.  This version will
  147.   require less memory to run, and will be free to registered ussers.
  148.  
  149.   A bound, laser-printed copy of this manual is also available for an
  150.   additional $9 to help offset the costs of production and postage.
  151.  
  152.   Being that AutoScript 1.04 is shareware, you are thankfully encouraged
  153.   to pass it on to friends, co-workers, associates, etc., to upload it
  154.   to BBSs, or otherwise distribute it, with the following conditions:
  155.  
  156.     1.  All files (ie. AS.EXE, AS.USG, AS.OVL, AC.EXE, AUC.EXE, ASCRN.EXE,
  157.         DEMO.SCR, AS.DOC, STARTING.DOC, READ.ME, and FILE_ID.DIZ) are
  158.         included without any modifications.
  159.     2.  No fee is charged for the software, and only a modest fee, if any,
  160.         is charged for the distribution.
  161.     3.  The recipient is aware or informed of the shareware concept and
  162.         how it works.
  163.  
  164.   I hope that you will appreciate that a great deal of time, effort, and
  165.   resources went into developing AutoScript, and that you will register
  166.   your copy without having to be threatened to do so.  I am most
  167.   interested in hearing from users as to how they are using AutoScript,
  168.   and suggestions for future enhancements.  Although a serious effort has
  169.   been made to assure that the code is bug-free, there still exists the
  170.   possibility that some bugs may have escaped unnoticed.  If any bugs are
  171.   found, I apologize in advance, and request that they quickly be brought
  172.   to my attention so that they can be corrected.  Also, being that
  173.   AutoScript is a fairly complicated TSR program, it may not be compatible
  174.   will all hardware and/or software configurations, or all applications.
  175.   It does not work under MS windows.
  176.  
  177.   In the event that you somehow received this DOC file without all of the
  178.   other files, or you want to receive the latest version of AutoScript,
  179.   please send $3 (or a self-addressed, postage-paid mailer and blank disk)
  180.   to:
  181.  
  182.     AutoScript sw
  183.     Larry Michaels
  184.     P.O. Box 59379
  185.     Chicago, IL 60659
  186.     (312) 973-0781
  187.   
  188.  
  189.  
  190.                      AutoScript 1.04 Registration Form
  191.  
  192.     Remit to:                        From:
  193.  
  194.     AutoScript Registration          _______________________________
  195.     Larry Michaels
  196.     P.O. Box 59379                   _______________________________
  197.     Chicago, IL 60659
  198.                                      _______________________________
  199.  
  200.                                      _______________________________
  201.  
  202.                                      _______________________________
  203.  
  204.                                      _______________________________
  205.  
  206.                                      Phone:_________________________
  207.  
  208.  
  209.     Where did you get your copy of AutoScript?______________________
  210.  
  211.  
  212.     Registration US $50 per user    Quantity:____ x $50 = ___________
  213.  
  214.     Bound copy of manual $9         Quantity:____ x  $9 = ___________
  215.  
  216.     IL residents add 7% sales tax:                        ___________
  217.  
  218.     Total:                                                ___________
  219.  
  220.  
  221.     Check if you require a 3.5" disk:____
  222.  
  223.  
  224.     Comments:
  225.   
  226.                                       3
  227.  
  228.  
  229.   Liability Disclaimer
  230.  
  231.   No warranty, written, implied, or otherwise is made regarding the
  232.   suitability of AutoScript for any particular use.  The author,
  233.   representatives, and/or distributor(s) can not and will not be held
  234.   accountable for any damages whatsoever, including, but not limited to,
  235.   the loss of data, loss of time, or loss of business, resulting from the
  236.   use or misuse of the AutoScript software.  The user assumes
  237.   responsibility for determining the suitability of the software for any
  238.   given use.
  239.   
  240.                                       4
  241.  
  242.  
  243.   Chapter 1    Introduction
  244.  
  245.   This manual describes AutoScript's features and operation.  I hope that
  246.   you will find AutoScript to be useful.
  247.  
  248.  
  249.   1.1      What is AutoScript
  250.  
  251.   AutoScript is a powerful TSR (Terminate and Stay Resident) program which
  252.   AutoScript can record your keystrokes, type keystrokes as if they were
  253.   being typed at the keyboard, perform various tasks such as clearing the
  254.   screen, generating sounds, saving screen text, and deleting files,
  255.   check various conditions such as text on the screen, which application
  256.   is running, or data in memory, and act accordingly, and much more.
  257.   AutoScript also provides screen blanking, keyboard repeat, expanded
  258.   keyboard buffer, keyclick, screen text copy and print, text screen save,
  259.   text file insertion, keyboard locking, batch mode, as well as many other
  260.   features, all in one program.
  261.  
  262.   AutoScript records and plays "scripts".  Scripts are binary files which
  263.   contain keystrokes and/or commands, and are limited in size only by disk
  264.   capacity.  As a script is played, keystrokes in the script are "typed" by
  265.   stuffing them into the PC's keyboard buffer, as if they were being typed
  266.   at the keyboard.  Commands in a script can control how a script is played,
  267.   as well as various aspects of you PC's operation.
  268.  
  269.  
  270.   1.2      Uses of AutoScript
  271.  
  272.   AutoScript provides many features and has numerous uses. The following
  273.   sections describe a few uses for AutoScript.
  274.  
  275.  
  276.   1.2.1    Making Program Demos
  277.  
  278.   AutoScript is ideal for creating demos of almost any DOS application.
  279.   You can create a demo of your application, without making a single
  280.   modification to it, by recording your keystrokes while running the
  281.   application, and then playing back the recorded script at demo time.
  282.   AutoScript can preserve the delays between keystrokes so that at
  283.   playback time, keystrokes "typed" by AutoScript will appear as though
  284.   they were being typed by a user at the keyboard. Scripts can be
  285.   scheduled to be played at specific times, and can contain loops,
  286.   providing the facility for long-running, unattended demo operation.
  287.   The keyboard lock and key enable/disable features allow you to restrict
  288.   which keypresses, if any will be allowed to affect your application.
  289.   Conditional branching within a script enables you to make your demos
  290.   more dynamic, allowing them to respond to conditions such as text on the
  291.   screen or the name of the current process.
  292.  
  293.  
  294.   1.2.2     Automated Software Testing
  295.  
  296.   AutoScript is also a powerful automated software testing tool.
  297.   AutoScript can record all keystrokes while running your application,
  298.   providing you with an accurate record of you testing sequence, and
  299.   allowing you to painlessly repeat that sequence any number of times to
  300.   properly test you application after making changes and/or corrections.
  301.   
  302.                                       5
  303.  
  304.  
  305.   Variable-speed play and single-step mode permit you to play back your
  306.   recorded script at different speeds, or one key at a time.  The various
  307.   conditional tests which AutoScript can perform can quickly alert you to
  308.   bugs in you application by checking the contents of the display screen,
  309.   as well as RAM within your application's memory space, or anywhere else
  310.   in conventional memory.  You can instruct AutoScript to check specific
  311.   bytes, words, double words, and strings within your application by
  312.   providing the segment and offset values which appear in the map file
  313.   produced by you linker.  A separate utility lets you compare the
  314.   contents of text mode screens saved by AutoScript, displaying the
  315.   differences between two screens.  Log statements within a script can
  316.   provide a useful audit trail during testing, allowing you to determine
  317.   what occurred at what time.
  318.  
  319.  
  320.   1.2.3     Increasing Productivity
  321.  
  322.   AutoScript can help you boost your productivity with your PC.  The
  323.   extended keyboard buffer will help you save time, allowing you to type
  324.   ahead up to 200 keystrokes, while the PC is doing something else, such
  325.   as writing to disk.  The keyboard repeat feature can help you type
  326.   duplicate keys and move around large documents quickly in an editor.
  327.   The screen blanker can increase the life of your video display by
  328.   automatically blanking the screen after a set number of minutes or at
  329.   any time on demand.   The screen saving, screen text copy and print,
  330.   and text file stuffing features allow you to save the screen, copy or
  331.   print selected portions of the screen, and insert the contents of any
  332.   text file, almost anywhere that keyboard input is required.  By
  333.   recording the keystrokes for repetitive tasks in a script, such tasks
  334.   can repeated by a single keystroke.  The batch processing feature allows
  335.   you to schedule almost any task to be done, at any time, day or night,
  336.   up to a month in advance.  You can even schedule tasks to be done every
  337.   day at the same time.
  338.  
  339.  
  340.   1.3      System Requirements
  341.  
  342.   AutoScript should run on any IBM AT or PS/2 or 100% compatible machine
  343.   with a hard disk, running DOS version 3.0 or higher.  Some features may
  344.   require EGA or VGA video controllers.
  345.  
  346.  
  347.   1.4      Summary of Features
  348.  
  349.   AutoScript provides a wide variety of features.  This section provides a
  350.   list of AutoScript's features, grouped by category, along with a brief
  351.   description of each.  For detailed instructions on how these features
  352.   work, please refer to the appropriate sections in this manual.
  353.  
  354.   1.4.1    Keyboard Features
  355.  
  356.   Extended keyboard buffer:  Increases your PC's keyboard type-ahead
  357.                              buffer size from 15 to 200 keystrokes.
  358.  
  359.   Keyboard repeat:           Lets you set your keyboard repeat rate and
  360.                              delay.
  361.  
  362.   Key click:                 Produces a "click" sound for each key pressed
  363.                              at the keyboard or "typed" by AutoScript.
  364.   
  365.                                       6
  366.  
  367.  
  368.   Keyboard lock:             "Locks" your keyboard so that no keystrokes
  369.                              will be accepted (not even Ctrl-Alt-Del) until
  370.                              the password is entered.
  371.  
  372.   Key enable/disable:        Disables specific keys, or all but certain
  373.                              keys.  AutoScript will cause disabled keys to
  374.                              be ignored.
  375.  
  376.   Keyboard status changing:  Turns on or off certain keyboard status bits
  377.                              in the PC's keyboard status word.  These bits
  378.                              correspond to the pressing and releasing of
  379.                              the left and right Shift, Ctrl, and Alt keys,
  380.                              and the Num Lock, Caps Lock, and Scroll Lock
  381.                              states.
  382.  
  383.  
  384.   1.4.2    Screen Features
  385.  
  386.   Screen blanking:           Blanks the PC's screen, either automatically,
  387.                              after a given number of idle minutes, or on
  388.                              demand at any time.  You have the option of
  389.                              whether or not the screen will be unblanked
  390.                              when text is written to it.
  391.  
  392.   Screen save/display:       Lets you save the contents of any text-mode
  393.                              screen, including the attributes and cursor
  394.                              size and location, to a file.  You can
  395.                              display any screen which was saved using this
  396.                              feature.  For EGA and VGA video systems, you
  397.                              can specify whether blinking or background
  398.                              intensity should be enabled when a screen is
  399.                              displayed.
  400.  
  401.   Screen text copy:          Lets you select a block of text, any size,
  402.                              anywhere on a text-mode screen, and save it
  403.                              to a file.  The resultant file will be a
  404.                              plain ASCII file.
  405.  
  406.   Screen text printing:      Lets you select a block of text, any size,
  407.                              anywhere on a text-mode screen, and send it
  408.                              to your printer.
  409.  
  410.   Screen clearing:           Clears the screen and video buffer.
  411.  
  412.   Cursor hide/restore:       Hides (makes invisible) the text cursor,
  413.                              storing its size and location on the screen.
  414.                              A hidden cursor can be restored to its saved
  415.                              size and location.
  416.  
  417.   Video mode setting:        Sets the video mode to a specified value.
  418.  
  419.   Writing to screen:         Lets you write a text string in any attribute
  420.                              over the current text screen.
  421.   
  422.                                       7
  423.  
  424.  
  425.   1.4.3    Script Control Features
  426.  
  427.   Conditional execution:     Controls script play by allowing commands or
  428.                              blocks of commands to be either executed or
  429.                              skipped, depending on the outcome of condition
  430.                              checks.  Conditions can be based on the
  431.                              following items:    data in RAM, environment
  432.                              variables, input from I/O ports, register
  433.                              values returned by interrupt calls, the name
  434.                              of the foreground process, screen contents,
  435.                              and text in a region on the screen.
  436.  
  437.   Looping:                   Repeats the command(s) within a loop a fixed
  438.                              or infinite number of times.  Loops can be
  439.                              exited based on conditions.
  440.  
  441.   Delay:                     Pauses script play for a specified amount of
  442.                              time.  You can also specify in a script, a
  443.                              standard delay which AutoScript will pause
  444.                              between each command and/or keystroke.
  445.                              During script play, you can tell AutoScript
  446.                              to ignore these imbedded delays.  You can
  447.                              also set the maximum speed at which scripts
  448.                              are played.
  449.  
  450.   Wait until:                Pauses script play until a specified time of
  451.                              day arrives.
  452.  
  453.   Waiting for a string:      Pauses script play until a specified character
  454.                              string is typed at the keyboard.
  455.  
  456.   Play pause:                Pauses script play until a specified key is
  457.                              pressed or a specified amount of time elapses.
  458.  
  459.   Script insert/change:      Causes AutoScript to stop playing the current
  460.                              script and begin playing another.  You have
  461.                              the option of whether or not AutoScript
  462.                              should return to playing the original script
  463.                              upon completion of the new script.
  464.  
  465.   Single-stepping:           When AutoScript is in single-step mode,
  466.                              keystrokes in the script are "typed" one at a
  467.                              time as the step key is pressed.
  468.  
  469.  
  470.   1.4.4    System Features
  471.  
  472.   File deletion:             Deletes the specified file.
  473.  
  474.   Interrupt generation:      Generates the specified interrupt with the
  475.                              registers set to the given values.
  476.  
  477.   I/O port output:           Outputs a byte or word to an I/O port.
  478.  
  479.   System pause:              Pauses the foreground process until a key is
  480.                              pressed.
  481.   
  482.                                       8
  483.  
  484.  
  485.   Data save:                 Saves a byte, word, double word, or string
  486.                              from the specified memory location.  The
  487.                              memory locations can be specified relative
  488.                              to the start of system memory or relative to
  489.                              the start or the current foreground process's
  490.                              memory area.
  491.  
  492.   Reboot:                    Reboots the PC.  You can specify either a
  493.                              "warm" (ie. the same as pressing Ctrl-Alt-Del)
  494.                              or "cold" (ie. the same as pressing the PC's
  495.                              reset button) reboot.
  496.  
  497.  
  498.   1.4.5    Miscellaneous Features
  499.  
  500.   Beep/tone:                 Produces either a beep of fixed frequency and
  501.                              duration, or a tone of specified frequency
  502.                              and duration.
  503.  
  504.   Alarm:                     Stops script play, and produces an alarm
  505.                              sound which continues until a key is pressed.
  506.                              Script play is resumed by pressing the unpause
  507.                              key.
  508.  
  509.   Text file stuffing:        Stuffs the contents of a text file into the
  510.                              keyboard buffer, as if they were being typed
  511.                              at the keyboard.  You can use this feature to
  512.                              "paste" screen text saved with the Copy
  513.                              screen text feature.
  514.  
  515.   Batch mode:                You can submit a batch file to AutoScript.
  516.                              Batch files contain a list of script names
  517.                              and associated dates and times.  AutoScript
  518.                              will play the scripts listed at the specified
  519.                              dates and times.
  520.  
  521.   Logging:                   Writes a given message, along with the time,
  522.                              to a log file.
  523.  
  524.  
  525.   Chapter 2     Starting AutoScript
  526.  
  527.   2.1      General Notes
  528.  
  529.   AutoScript recognizes a number of "hot keys", as described later in this
  530.   chapter.  A hot key can be either a single key on the keyboard, or a
  531.   combination of a key with a modifier key (ie. Ctrl, Alt, or Shift).
  532.   When referring to a numerical key, such as "4", the key on the main part
  533.   of the keyboard, and not on the numerical keypad, is meant.  Most keys
  534.   are referred to by a simple, one-character name, such as "A", "B", "9",
  535.   etc..  Other keys such as the Spacebar, the Tab key, etc. are referred
  536.   to by longer names.  The keys prefixed by "KP" are those on the numeric
  537.   keypad.  Table 5-1 at the end of Chapter 5 lists all of the valid
  538.   multi-character key names.  When a key includes a modifier, the
  539.   prefixes: "Ctrl-", "Alt-", and "Shft-" are used.  Note that the Alt and
  540.   left and right Shift keys can also be used with modifiers.  The
  541.   following are valid key combinations using the Alt and Shift keys:
  542.   Ctrl-LShift, Ctrl-RShift, Ctrl-Alt, Alt-LShift, and Alt-RShift.
  543.   
  544.                                       9
  545.  
  546.  
  547.   The keystrokes which AutoScript records and plays are not the actual
  548.   keypresses, but the words which the PC's BIOS generates and places in
  549.   the keyboard buffer when keys are pressed.  These keystroke words
  550.   consist of an ASCII character byte and a keyboard scan code byte.  All
  551.   keyboard keys produce keypress codes, but not all result in a keystroke
  552.   word being generated.  For example, the left and right Shift keys each
  553.   produce a unique code when pressed, but neither cause a keystroke word
  554.   to  generated or placed in the keyboard buffer.  The hot key names, as
  555.   well as the key names which are required as arguments in some of the
  556.   script commands correspond to the codes produced by the keyboard when
  557.   those keys are pressed, whereas the keystrokes which can be included
  558.   in scripts correspond to the words which are placed in the PC's keyboard
  559.   buffer.
  560.  
  561.  
  562.   2.2      Installing AutoScript
  563.  
  564.   Your AutoScript distribution disk should contain the following files:
  565.  
  566.   AS.EXE     - The AutoScript program file
  567.   AS.OVL     - An overlay file used by AutoScript
  568.   AS.USG     - A data file used by AutoScript
  569.   AC.EXE     - The script compiler program
  570.   AUC.EXE    - The script uncompiler program
  571.   ASC.EXE    - The screen compare utility program
  572.   KBRATE.EXE - A utility for setting the keyboard's repeat rate and delay
  573.  
  574.   To install AutoScript on your system, simply create a directory on
  575.   your hard disk named "AUTOSCRIPT" (or any other name you prefer), and
  576.   copy all of the files on the distribution disk to the new directory.
  577.   You will probably want to add the new directory to the PATH statement in
  578.   your AUTOEXEC.BAT file.  You may want to copy KBRATE to your utilities
  579.   directory.
  580.  
  581.  
  582.   2.3    Loading AutoScript
  583.  
  584.   To load AutoScript, type "AS" along with any command-line options at
  585.   the DOS prompt, and press Enter.  You should preferably not load
  586.   AutoScript from a DOS shell while within another application, as this
  587.   can lead to problems.  AutoScript will load itself into your PC's memory
  588.   and return to DOS.  Command-line options can be typed in either upper or
  589.   lower-case, and are prefixed by a '/' or '-' character.  The following
  590.   are the valid command-line options:
  591.  
  592.   /b<path>  Start AutoScript in batch mode, using the batch file specified
  593.             by path.  AutoScript will attempt to read the batch file, and
  594.             execute the scripts listed in it at the specified times.
  595.  
  596.   /c<path>  Use the configuration file specified by path instead of the
  597.             default file "AS.CFG".
  598.  
  599.   /d        Record delays between keystrokes.  This option is valid only
  600.             in conjunction with the /r option.  Using this option has the
  601.             same effect as setting Record Delays in the Record Script
  602.             window.
  603.   
  604.                                      10
  605.  
  606.  
  607.   /i<xx>    Set the multiplex interrupt ID to the value xx (in
  608.             hexadecimal), instead of the value stored in the configuration
  609.             file. The default setting is 0BFh.
  610.  
  611.   /k        Record keyboard status changes.  This option is valid only in
  612.             conjunction with the /r option.  Using this option has the same
  613.             effect as setting Record Kbd Stat Changes in the Record Script
  614.             window.
  615.  
  616.   /l<path>  Use the name given by path for the log file instead of the
  617.             name stored in the configuration file.  The default name is
  618.             "AS.LOG".  If this option is used, all log output will be
  619.             written to the file with the specified name.  If the log file
  620.             does not exist, it will be created.
  621.  
  622.   /m        Force monochrome.  This option forces the pop-up windows to
  623.             appear in monochrome, even when a color monitor is used.  This
  624.             option may be useful when running AutoScript on a laptop or
  625.             notebook PC.
  626.  
  627.   /p<path>  Start AutoScript in Play mode.  This option has the effect of
  628.             causing AutoScript to immediately play the script given by
  629.             path upon startup.
  630.  
  631.   /r<path>  Start AutoScript in Record mode.   This option has the effect
  632.             of causing AutoScript to immediately start recording the script
  633.             given by path upon startup.
  634.  
  635.   /s        Save screen contents to RAM instead of disk when displaying a
  636.             pop-up screen.  Using this option will cause AutoScript to use
  637.             about 4K more memory, but will make pop-up screens appear more
  638.             quickly.
  639.  
  640.   /u        Unload AutoScript.  Typing "AS /u <Enter>" at the DOS prompt
  641.             once AutoScript has been loaded will cause AutoScript to try
  642.             to unload itself and release the memory it was using.  If
  643.             other applications have hooked any of the interrupts which
  644.             AutoScript was using, it will not be able to unload itself.
  645.  
  646.   /?        Display the command-line options.
  647.  
  648.  
  649.   2.4      Configuration Settings
  650.  
  651.   When AutoScript is loaded, it looks for a configuration file which
  652.   contains values which affect its operation.  You may specify the name of
  653.   the configuration file by using the /c command-line option.  For
  654.   example, loading AutoScript by typing:
  655.  
  656.    AS /cC:\MISC\MYCONFIG.CFG <Enter>
  657.  
  658.   will cause AutoScript to look in the directory MISC, on drive C:, for
  659.   the file "MYCONFIG.CFG".  If no configuration file name is given,
  660.   AutoScript will look for a file named "AS.CFG" in the current directory.
  661.   If this file is not found, AutoScript will search its home directory
  662.   (ie. the directory in which the currently running "AS.EXE" is located)
  663.   for the file.  If no such file exists, AutoScript will create one in the
  664.   current directory,  and store in it the default configuration settings.
  665.   
  666.                                      11
  667.  
  668.  
  669.   Once AutoScript is loaded, you may wish to view and adjust the
  670.   configuration settings.  Configuration settings can be viewed and
  671.   changed via the Settings pop-up window.  To bring up the window, press
  672.   the Settings hot key.  The current hot key setting is displayed whenever
  673.   "AS<Enter>" is typed at a DOS prompt, and the default key is Ctrl-4.
  674.   You will want to make sure that the hot key settings do not conflict
  675.   with keys used by the applications with which AutoScript will be used.
  676.   Note that wherever a reference to a numerical key (ie. "4", "5", etc.)
  677.   is made, the key referenced is the one on the main part of the keyboard,
  678.   and not on the numeric keypad.
  679.  
  680.   The settings window displays, and allows you to modify the following
  681.   items:
  682.  
  683.   Default Mode:       The default mode to which AutoScript is set upon
  684.                       start-up, or upon leaving Record or Play modes.
  685.                       This is a multiple-choice item, and the choices are
  686.                       Standby and Interactive.
  687.  
  688.   Printer port:       The port where data is sent when printing screen
  689.                       text.  This is a multiple-choice item.  The choices
  690.                       are LPT1, LPT2, and LPT3.
  691.  
  692.   Scrn blank timeout: The number of minutes AutoScript waits for the PC to
  693.                       be idle before it blanks the screen.  The possible
  694.                       values range from 0 - 255.  A setting of 0 disables
  695.                       this feature.
  696.  
  697.   Unblank on scrn     Controls whether or not AutoScript will unblank the
  698.   write:              PC screen when data is written to the screen by the
  699.                       PC's BIOS.  This is a multiple-choice item.
  700.  
  701.   Extended kbd        Determines whether or not AutoScript will place the
  702.   buffer:             user's keystrokes in an extended keyboard buffer.
  703.                       This is a multiple-choice item.
  704.  
  705.   Kbd repeat rate:    Controls whether or not AutoScript's key repeat
  706.                       feature is enabled and, if enabled, the number of
  707.                       repeats per second.  The possible values are in the
  708.                       range 0 - 255, although a setting of more than about
  709.                       100 will be too fast for many applications.  Also,
  710.                       depending on the speed of your PC and the
  711.                       application that is running, a repeat rate which is
  712.                       too high may cause a system "crash".  A setting of 0
  713.                       disables the key repeat feature, and permits the key
  714.                       repeat to occur at the rate which is set in the PC's
  715.                       keyboard.
  716.  
  717.   Kbd repeat delay:   The amount of time, in 18th's of a second, AutoScript
  718.                       waits for a key to be held down before key repeat
  719.                       begins.  Valid settings are in the range 0 - 255,
  720.                       although a setting of 0 will cause the key repeat to
  721.                       begin as soon as a key is pressed.  If the Kbd repeat
  722.                       rate is set to 0, this setting will have no effect.
  723.  
  724.   Max play speed:     This setting limits the maximum speed at which
  725.                       scripts are played.
  726.   
  727.                                      12
  728.  
  729.  
  730.   Beep:               Controls whether or not AutoScript will beep at the
  731.                       beginning and end of script record and play and when
  732.                       a key is pressed and the keyboard is locked.  It
  733.                       does not affect beeps caused by the Beep command in
  734.                       a script.  This is a multiple-choice item.
  735.  
  736.   Key click:          Controls whether or not keyboard click is enabled.
  737.                       It affects the click for both keystrokes typed at
  738.                       the keyboard, as well as keys "typed" by AutoScript
  739.                       while playing a script.  This is a multiple-choice
  740.                       item.
  741.  
  742.   Wait for disk:      Determines whether or not script play is temporarily
  743.                       suspended while the PC is accessing a disk.  This is
  744.                       a multiple-choice item.
  745.  
  746.   Blink/bg intensity  Determines whether blinking or background intensity
  747.   mode:               should be enabled on EGA and VGA video cards when a
  748.                       saved screen is displayed.  When this item is set to
  749.                       Blink, and a screen is displayed, any text in the
  750.                       screen which has its blink attribute set will be
  751.                       displayed blinking.  When it is set to Intensity,
  752.                       text with its blink attribute set will be displayed
  753.                       with a bright background.  This is a multiple-choice
  754.                       item.
  755.  
  756.   Multiplex ID:       The multiplex interrupt ID used by AutoScript.  It
  757.                       may be set to any one-byte hexadecimal value, and
  758.                       may also be set via the command-line when loading.
  759.  
  760.   Log file:           The name of the file to which AutoScript writes log
  761.                       output.  It may also be changed via the command-line
  762.                       when loading AutoScript.
  763.  
  764.   Batch file:         The name of the batch file which AutoScript reads
  765.                       when it is in batch mode.  This file name is not
  766.                       stored in the configuration file.  It can be set
  767.                       either by typing it on the command-line when
  768.                       AutoScript is loaded (using the /b command-line
  769.                       option), or by typing it on the appropriate line in
  770.                       the Settings window.  If a new file name is entered
  771.                       on this line, AutoScript will automatically enter
  772.                       batch mode (if it was not already in batch mode),
  773.                       and begin reading the new batch file.
  774.  
  775.   Record script:      The hot key for putting AutoScript into Record mode.
  776.  
  777.   Play script:        The hot key for putting AutoScript into Play mode.
  778.  
  779.   Stop recrd/play:    The hot key for terminating script record and play.
  780.  
  781.   Pause play:         The hot key for pausing script play.
  782.  
  783.   Blank scrn:         The hot key for blanking the screen.
  784.  
  785.   Settings:           The hot key for bringing up the Settings window.
  786.  
  787.   Actions:            The hot key for bringing the Actions window.
  788.   
  789.                                      13
  790.  
  791.  
  792.   To move around the Settings window, use the up and down arrow keys.
  793.   Multiple-choice items are changed using the spacebar.  Hot keys are set
  794.   by pressing Enter, followed by the desired hot key.  Pressing Enter twice
  795.   will set no key as the hot key, thereby effectively disabling the
  796.   particular function.  To save changes, press Ctrl-Enter.  When changes
  797.   are saved, the configuration file is automatically updated to reflect the
  798.   changes.  To exit the settings window without saving changes, press Escape.
  799.  
  800.  
  801.   Chapter 3    AutoScript Operation
  802.  
  803.   3.1      Pop-Up Windows
  804.  
  805.   3.1.1    Settings Window
  806.  
  807.   The Settings window allows you to view and alter many parameters
  808.   affecting operation, as well as assigning hot keys.  The items in this
  809.   window are described in Chapter 2.
  810.  
  811.   To bring up the Settings window, press the Settings hot key.  The
  812.   default key is Ctrl-4, but it can be changed in this window.  Typing
  813.   "AS <Enter>" at a DOS prompt will cause AutoScript to display the
  814.   current Settings hot key.
  815.  
  816.  
  817.   3.1.2    Actions Window
  818.  
  819.   Various actions can be performed via the Actions window.  The
  820.   default hot key setting for bringing up this window it Ctrl-5, but it
  821.   can be changed in the Settings window.
  822.  
  823.   The actions which can be done via this window depend on the mode in
  824.   which AutoScript currently is when the hot key is pressed.  When
  825.   AutoScript is in Standby mode, the Actions hot key will be ignored.  The
  826.   following actions can be done via this window:
  827.  
  828.   Append Script:      Interactive mode
  829.   Delay on/off:       Record and Play modes
  830.   Beep:               Record mode
  831.   Save screen:        Interactive and Record modes
  832.   Display screen:     Interactive and Record modes
  833.   Copy screen text:   Interactive and Record modes
  834.   Print screen text:  Interactive and Record modes
  835.   Stuff text file:    Interactive and Record modes
  836.   Add comment:        Record mode
  837.   Add command:        Record mode
  838.   Single-step on/off: Play mode
  839.   Lock keyboard:      Interactive and Play modes
  840.   Edit SP keys:       Interactive mode
  841.   Unload:             Interactive mode
  842.  
  843.   To choose an action, press the key corresponding to the highlighted
  844.   letter in the name of the desired action, or use the up and down arrow
  845.   keys to move the highlight to the desired action, and press Enter.
  846.   Sections later in this chapter describe in detail how these features
  847.   work.
  848.   
  849.                                      14
  850.  
  851.  
  852.   3.2      AutoScript Modes
  853.  
  854.   AutoScript has four main operating modes: Standby, Interactive, Record,
  855.   and Play.  In Standby mode, AutoScript ignores all hot keys except for
  856.   the Settings and Blank Screen hot keys.  In Interactive mode, all
  857.   assigned hot keys are recognized.  In Record mode, AutoScript records
  858.   scripts, and in Play mode, scripts are played.
  859.  
  860.   When AutoScript is loaded, it enters its default mode, either Standby or
  861.   Interactive mode, depending on the configuration setting, unless the /p
  862.   or /r command-line options are used.  You can change the default mode at
  863.   any time via the Settings pop-up window.  The default mode is also the
  864.   mode to which AutoScript returns when it leaves Record or Play modes.
  865.  
  866.  
  867.   3.3      Extended Keyboard Buffer
  868.  
  869.   When the extended keyboard buffer feature is enabled, your PC's internal
  870.   keyboard buffer is effectively increased in size from 15 to 200 keys.
  871.   Making use of this extended buffer allows you to type ahead up to 200
  872.   keys even though the application you are running is not yet ready to
  873.   accept them.  This feature can be turned on or off via the Settings
  874.   window.
  875.  
  876.  
  877.   3.4      Key Repeat
  878.  
  879.   When the key repeat feature is enabled, AutoScript will automatically
  880.   begin repeating a keystroke when a key has been held down for a
  881.   specified amount of time.  Keys repeated by the keyboard are ignored.
  882.   The repeat delay (ie. the amount of time AutoScript waits before
  883.   repeating) and the repeat rate can be set via the Settings window.
  884.  
  885.   Setting the repeat rate to 0 disables this feature, and causes
  886.   AutoScript to allow key repeat to occur at the delay and rate set in the
  887.   PC's keyboard.  It is generally not recommended that you use this
  888.   feature unless you need to have a key repeat rate greater than 30
  889.   repeats per second (the highest rate available from the keyboard).  The
  890.   reason is that some applications rely on the keyboard for key repeat
  891.   interrupts and therefore some compatibility problems may arise.  The
  892.   utility KBRATE allows you to alter your keyboard's key repeat rate
  893.   and delay.
  894.  
  895.  
  896.   3.5      Key Click
  897.  
  898.   When key click is enabled, AutoScript generates a click sound every time
  899.   a key is pressed or repeated, as well as every time a key is "typed" by
  900.   AutoScript while playing a script.  Key click can be turned on or off
  901.   via the Settings window, as well as by the ClickOn and ClickOff
  902.   script commands.  Since many PCs already have their own built-in key
  903.   click, the default setting in Off.  If you want key click for keys
  904.   "typed" by AutoScript, you must turn this feature on.
  905.   
  906.                                      15
  907.  
  908.  
  909.   3.6      Blanking The Screen
  910.  
  911.   When the screen blanking feature is enabled, AutoScript will blank the
  912.   PC's screen after the specified amount of idle time has elapsed, or when
  913.   the blank screen hot key is pressed.  The screen blank timeout and hot
  914.   key can be set via the Settings window.  You can also specify whether or
  915.   not the screen should be unblanked when the BIOS writes data to video
  916.   memory.  After the screen has been blanked, AutoScript will unblank it
  917.   upon any keypress.  The screen can also be blanked and unblanked by the
  918.   BlankScrn and UnblankScrn script commands.
  919.  
  920.  
  921.   3.7      Locking The Keyboard
  922.  
  923.   When the keyboard is locked, AutoScript prevents all keystrokes from
  924.   reaching the foreground process.  Even keystrokes which cause BIOS
  925.   actions, such as Print Screen, Ctrl-Alt-Delete, and Ctrl-C, are
  926.   disabled.  Also disabled are changes in the Caps Lock, Num Lock, and
  927.   Scroll Lock states.  If Beep is enabled (in the Settings window),
  928.   AutoScript will generate a beep in response to every keypress when the
  929.   keyboard is locked.
  930.  
  931.   The keyboard can be locked by either choosing the Lock Keyboard
  932.   action in the Actions window, or by a LockKbd script command.  When
  933.   you lock the keyboard using the Lock Keyboard action, you will be
  934.   prompted to enter a password.  The password may be between 1 an 10
  935.   characters in length, and may contain any combination of numbers and
  936.   letters, as well as any other characters which can be typed without the
  937.   help of the Shift, Ctrl, or Alt keys.  No distinction is made between
  938.   upper and lower-case letters.  For example:
  939.  
  940.       ABC=123    is a valid password, whereas
  941.       ABC*?      is not a valid password.
  942.  
  943.   When the keyboard is locked with a LockKbd script command, a NULL
  944.   password (ie. a string with length 0) is also allowed.
  945.  
  946.   The keyboard can be unlocked either by typing the password, or by the
  947.   UnlockKbd script command.  If a NULL password is given, the keyboard
  948.   will remain locked until an UnlockKbd command is executed.
  949.  
  950.  
  951.   3.8      Saving/Displaying Text Screens
  952.  
  953.   AutoScript allows you to save any text-mode screen to a file, and to
  954.   display saved screens.  When AutoScript saves a screen, it saves the
  955.   video mode, the cursor size and location, the number of rows of text, as
  956.   well as all of the characters and attributes on the screen.  The screen
  957.   can be saved either by choosing the Save Screen action in the
  958.   Actions window, or by a SaveScrn script command.  When you choose
  959.   the Save Screen action, you will be prompted to enter a file name.  If
  960.   you choose this action while in Record mode, a SaveScrn command will be
  961.   inserted in the script being recorded.
  962.  
  963.   Saved screens can be displayed, either by choosing the Display
  964.   Screen action in the Actions window, or by a DisplScrn script
  965.   command.  When you choose the Display Screen action, you will be
  966.   prompted to enter a file name.  AutoScript will automatically set the PC
  967.   to appropriate video mode, fill the screen, and display the cursor as it
  968.   was in the saved screen.
  969.   
  970.                                      16
  971.  
  972.  
  973.   3.9      Copying Screen Text to a File
  974.  
  975.   AutoScript allows you to copy some or all of the text on a text-mode
  976.   screen to a file.  The resulting file will be an ordinary text file with
  977.   a newline character pair (ie. 0Dh, 0Ah) at the end of each line.  Using
  978.   this in conjunction with the Stuff Text File feature, you have the
  979.   ability to "cut and paste" text between applications.
  980.  
  981.   You can copy screen text either by choosing the Copy Screen Text
  982.   action in the Actions window, or by a CopyScrnTxt script command.
  983.   When you choose the Copy Screen Text action, a block of a different
  984.   color will appear in the upper-left corner of the screen.  Using the
  985.   arrow and Tab keys, position the block on the upper-left corner of the
  986.   block of text which you wish to copy.  Next, press the Spacebar, and
  987.   then extend the highlighted area, using the arrow and Tab keys, to cover
  988.   the entire block of text, and press Enter.  You will then be prompted to
  989.   enter a file name.  Pressing Escape at any time during this process will
  990.   terminate this action.  If you choose this action while in Record mode,
  991.   a CopyScrnTxt command will be inserted in the script being recorded.
  992.  
  993.  
  994.   3.10     Printing Screen Text
  995.  
  996.   Similar to the copy screen text feature, AutoScript also allows you to
  997.   send a block of text on a text screen to your printer.  You can do this
  998.   either by choosing the Print Screen Text action in the Actions
  999.   window, or by a PrntScrnTxt script command.  The procedure for
  1000.   selecting the text to be printed is the same as that for copying screen
  1001.   text.    If you choose this action while in Record mode, a PrntScrnTxt
  1002.   command will be inserted in the script being recorded.
  1003.  
  1004.  
  1005.   3.11     Stuffing Text Files
  1006.  
  1007.   AutoScript allows you to stuff the contents of any text file into the
  1008.   keyboard buffer.  All characters in the file above 01Fh are stuffed into
  1009.   the buffer, as are the HT (0Bh) and CR (0Dh) characters.  All other
  1010.   characters are ignored.  When used in conjunction with the copy screen
  1011.   text feature, this feature allows you to "cut and paste" between
  1012.   applications.
  1013.  
  1014.   You may stuff a text file either by choosing the Stuff Text File
  1015.   action in the Actions window, or by a StuffTxtFile script command.
  1016.   If you choose this action while in Record mode, a StuffTxtFile command
  1017.   will be inserted in the script being recorded.
  1018.  
  1019.   While stuffing a text file, AutoScript behaves in much the same way as
  1020.   it does when playing a script.  Therefore, the maximum play speed
  1021.   setting affects the speed at which the file is stuffed, and single-step
  1022.   mode can be used.  Also, AutoScript will not lose any characters of the
  1023.   file being stuffed because the application is not ready to accept them
  1024.   (ie. the keyboard buffer is full).  Instead, it will keep trying to
  1025.   stuff each character until it is accepted.
  1026.   
  1027.                                      17
  1028.  
  1029.  
  1030.   3.12     Incremental File Names
  1031.  
  1032.   For the save screen, copy screen text, and save data features,
  1033.   AutoScript allows you to provide file names containing one or more
  1034.   consecutive question marks.  When AutoScript encounters a file name for
  1035.   one of these three feature containing question marks, it replaces the
  1036.   question marks with a number.  Each subsequent time a file name
  1037.   containing question marks is encountered, the number is incremented.
  1038.   The numbering begins with 0, and the number is padded with 0s to replace
  1039.   all of the question marks.  Separate file numbers are stored for each of
  1040.   the three features, and these numbers are reset to zero each time
  1041.   a script is recorded.  The maximum size of the numbers depends on the
  1042.   number of consecutive question marks included in the file name.  This
  1043.   feature allows, for example, a script being played to create numerous
  1044.   files, each with a unique name, with only one command included in a loop.
  1045.  
  1046.   As an example, if your script contains several commands, or one command
  1047.   within a loop, to save the screen to a file with its name given as
  1048.   "SCRN???.SAV", the files created will be named "SCRN000.SAV",
  1049.   "SCRN001.SAV", "SCRN002.SAV", and so on.
  1050.  
  1051.  
  1052.   3.13     Recording Scripts
  1053.  
  1054.   Scripts can be created by running AutoScript in Record mode.  In
  1055.   this mode, all keystrokes and most actions are recorded in a script.
  1056.   You can enter Record mode either loading AutoScript with the /r
  1057.   command-line option, or by pressing the Record hot key after AutoScript
  1058.   is loaded.
  1059.  
  1060.   To begin recording via the command-line, load AutoScript by typing: "AS
  1061.   /rfilename [/d] [/k]" at the DOS prompt, where filename is the name of
  1062.   the script file to be created, and "/d" and "/k" are optional, depending
  1063.   on whether you want AutoScript to record delays and/or keyboard status
  1064.   changes (see the next section).  If AutoScript was already loaded, this
  1065.   command will have no effect.  Once AutoScript has finished loading
  1066.   itself, it will immediately enter Record mode.  If Beep is enabled,
  1067.   AutoScript will beep to inform you that it has begun recording.
  1068.  
  1069.   To begin recording while AutoScript is loaded, press the Record
  1070.   Script hot key.  The default setting is Ctrl-1, but it can be changed
  1071.   via the Settings window.  AutoScript will prompt you to enter a script
  1072.   name, a unique hot key for playing back the script, a description, and
  1073.   whether or not delays and keyboard status changes should be recorded.
  1074.   The script name must be a legal DOS file name.  Filling in the other
  1075.   fields is optional.  To assign the script a hot key, press the desired
  1076.   key combination at the Key field.  Any key combination will be accepted,
  1077.   except for Enter, Ctrl-Enter, Esc, Ctrl, LShift, RShift, and Alt.  To
  1078.   bypass the Key field, press Enter.  The Description field can be filled
  1079.   with any text.  This text will be stored as a comment at the beginning
  1080.   of the script.  The Record Delays and Record Kbd Stat Changes
  1081.   fields control whether or not delays and/or keyboard status changes will
  1082.   be recorded (see the next section).  To check these fields, use the
  1083.   Spacebar.  To uncheck these fields, press Delete.  To begin recording,
  1084.   press Enter at the last field or Ctrl-Enter at any field.  To exit
  1085.   without recording, press Esc.  When you exit this window by pressing
  1086.   Enter or Ctrl-Enter, AutoScript will immediately enter Record mode.  If
  1087.   Beep is enabled, AutoScript will beep to inform you that it has begun
  1088.   recording.
  1089.   
  1090.                                      18
  1091.  
  1092.  
  1093.   When you have finished recording, press the Stop Record/Play hot key
  1094.   combination.  The default setting is Ctrl-3.  If Beep is enabled,
  1095.   AutoScript will beep to inform you that it has terminated recording.
  1096.   AutoScript will then save the script to a file, and return to the
  1097.   default mode.
  1098.  
  1099.  
  1100.   3.13.1   Recording Keystroke Delays and Keyboard Status Changes
  1101.  
  1102.   When recording a script, you have the options of recording the delays
  1103.   between keystrokes and/or commands and changes in the keyboard status.
  1104.   When recording delays is enabled, AutoScript will automatically record
  1105.   the time elapsed between keystrokes and commands by inserting the
  1106.   appropriate Delay commands into the script.  Time elapsed while in a
  1107.   pop-up window (eg. the Actions window) is not included in the recorded
  1108.   delays.
  1109.  
  1110.   Recording delays is useful for preserving the time relationships between
  1111.   various keystrokes which will cause the playback to appear more natural,
  1112.   as if someone were actually typing at the keyboard.  Recording the time
  1113.   delays also may help insure that keystrokes are not lost by the
  1114.   application being run by AutoScript.  Although AutoScript will not lose
  1115.   any keystrokes during playback (ie. if the keyboard buffer is full,
  1116.   AutoScript will keep trying to push the keystroke into the PC's keyboard
  1117.   buffer until it is successful), some applications discard keystrokes
  1118.   which they are not ready to process.
  1119.  
  1120.   Recording keyboard status changes means that AutoScript will record the
  1121.   changes in keyboard status which result from every press and release of
  1122.   the Ctrl, Alt, and Shift keys, as well as the state changes in the Caps
  1123.   Lock, Num Lock, and Scroll Lock states.  It is only necessary to record
  1124.   these changes when the application being run during playback actually
  1125.   uses this information.  Recording or not recording these keyboard status
  1126.   changes has no effect on the keys actually recorded.  For example, if an
  1127.   uppercase "G" is typed, a "G" will be recorded even if the keyboard
  1128.   status change (ie. the pressing of the Shift or Caps Lock keys) is not.
  1129.  
  1130.  
  1131.   3.13.2   Inserting Comments
  1132.  
  1133.   At any time while recording a script, a comment may be entered into the
  1134.   script by choosing the Add Comment action in the Actions window.  You
  1135.   will be prompted to enter the text of the comment.  Any text can be
  1136.   typed on the prompt line.
  1137.   
  1138.   
  1139.   3.13.3   Inserting Other Commands
  1140.   
  1141.   While in Record mode, several actions in the Actions window have effects
  1142.   on the script being recorded.  Choosing the Delays On/Off action causes
  1143.   AutoScript to start or stop recording the delays between keystrokes.
  1144.   This feature may be useful when only certain keystrokes in the script
  1145.   are time-critical.  In such a case, you might begin recording with the
  1146.   record delays option off, turn it on for a few keystrokes, and then turn
  1147.   it off again.
  1148.  
  1149.   The Save Screen, Display Screen, Copy Screen Text, Print Screen Text,
  1150.   and Stuff Text File actions also result in the corresponding commands
  1151.   being inserted into the script.
  1152.   
  1153.                                      19
  1154.  
  1155.  
  1156.   Pressing Ctrl-C, Ctrl-Break, Pause, Print Screen, and SysRq while in
  1157.   Record mode will cause AutoScript to record the corresponding command.
  1158.   Pressing a key after the Pause key will cause AutoScript to record an
  1159.   Unpause command.
  1160.  
  1161.   You may also enter any other commands into the script by choosing the
  1162.   Add Command action, and typing a command line as you would include in a
  1163.   text file being submitted to the script compiler.  See Chapter 5 for
  1164.   descriptions of the script commands.
  1165.  
  1166.  
  1167.   3.14     Appending Scripts
  1168.  
  1169.   You may add to an existing script by choosing the Append Script action
  1170.   in the Actions window.  When you choose this action, you will be
  1171.   prompted for the script name, and whether or not the keystroke delays
  1172.   and keyboard status changes are to be recorded.  This prompt window
  1173.   works the same as the Record Script window, except that it does not
  1174.   contain fields for a hot key or description.  When you exit this window,
  1175.   AutoScript will enter Record mode, and append recorded keystrokes and
  1176.   commands to the end of the specified script.
  1177.  
  1178.  
  1179.   3.15     Playing Scripts
  1180.  
  1181.   Scripts can be played by loading AutoScript with the /p command-line
  1182.   option, or once AutoScript is loaded, by either  pressing the Play
  1183.   Script hot key, and entering the script file name on the prompt line,
  1184.   or by pressing the hot key for the particular script, if one has been
  1185.   assigned.  If you edit the last script played via its own hot key, you
  1186.   must reload the script using the Play Script hot key (or play or record
  1187.   another script) before pressing its hot key again.  The reason for this
  1188.   is that AutoScript stores the last script played in its internal memory,
  1189.   and will be unaware that changes have occurred to the script since it
  1190.   was stored.  If Beep is enabled when a script is played, AutoScript will
  1191.   beep to indicate that it has entered Play mode.
  1192.  
  1193.  
  1194.   3.15.1   Pausing Play
  1195.  
  1196.   While AutoScript is playing a script, you can pause play by pressing the
  1197.   Pause Play hot key.  The default setting is Ctrl-LShift.  When this key
  1198.   is pressed, script play will stop, and will not resume until either the
  1199.   unpause key is pressed or an action is done.  The unpause key is the same
  1200.   as the pause key, but without the modifier.  The default unpause key
  1201.   therefore is LShift.
  1202.  
  1203.  
  1204.   3.15.2   Changing Settings During Play
  1205.  
  1206.   During script play you can change settings.  The Settings pop-up window
  1207.   is brought up the same way as it is in Interactive mode.  When the
  1208.   window is brought up, play is automatically paused.  Any changes to
  1209.   settings which affect script play, such as maximum play speed, will take
  1210.   effect immediately after play is resumed.
  1211.   
  1212.                                      20
  1213.  
  1214.   3.15.3   Single-Stepping
  1215.  
  1216.   While in playing a script, you can put AutoScript into single-step mode.
  1217.   In single-step mode, AutoScript plays scripts one keystroke at a time,
  1218.   pausing each time a keystroke is encountered in the script, and
  1219.   advancing as the step key is pressed.  Imbedded delays within the script
  1220.   are ignored, and script commands are executed immediately as they are
  1221.   encountered.  This mode is useful for software testing.  To turn on
  1222.   single-step mode, choose the Single-Step On action in the Actions
  1223.   window.  When you choose this action, you will be prompted to press the
  1224.   key which you want to be the step key.  Any single key (without a
  1225.   modifier) except Esc is valid.  However, if the Alt key is pressed,
  1226.   AutoScript will set the step key to ANYKEY, which means that all keys
  1227.   will act as the step key.  To turn off single-step mode, choose the
  1228.   Single-Step Off action.  Single-stepping can also be turned on and
  1229.   off by the SingStepOn and SingStepOff script commands.
  1230.  
  1231.  
  1232.   3.15.4   Locking Keyboard During Play
  1233.  
  1234.   While playing a script, you can lock the keyboard just as you can in
  1235.   Interactive mode.  Script play will continue as normal, with the
  1236.   exception that WaitForString commands in the script will be ignored.
  1237.  
  1238.  
  1239.   3.15.5   Using Text Files as Scripts
  1240.  
  1241.   You can provide the name of an ordinary ASCII text file anywhere a
  1242.   script file name is required.  If you do this, AutoScript will stuff the
  1243.   contents of the file into the keyboard buffer as it does in the stuff
  1244.   text file feature.
  1245.  
  1246.  
  1247.   3.16    Assigning Script Play Hot Keys
  1248.  
  1249.   AutoScript lets you assign up to 10 hot keys for playing individual
  1250.   scripts.  When you press one of these hot keys in Interactive mode,
  1251.   AutoScript will immediately begin playing the script assigned to it.  A
  1252.   hot key can be assigned to a script at the time the script is recorded
  1253.   by pressing the desired key at the Key prompt in the Record Script
  1254.   prompt window, or at any other time AutoScript is in Interactive mode,
  1255.   via the Edit SP Keys window.
  1256.  
  1257.   To bring up the Edit SP Keys window, choose the Edit SP Keys action in
  1258.   the Actions window.  Move the cursor to the desired field using the up
  1259.   and down arrow keys.  To assign or change a hot key, press Enter at the
  1260.   Key prompt, followed by the desired key. Pressing Enter again will assign
  1261.   no hot key to the script.  In this way, you can remove key assignments.
  1262.   The key combinations: Esc, Ctrl-Enter, Ctrl, Shift, and Alt are not
  1263.   accepted as hot key assignments.  When entering a script file name, you
  1264.   should provide the full path specification so that AutoScript will be
  1265.   able to find the file regardless of the current directory.  To save your
  1266.   changes, press Ctrl-Enter, and to quit without saving changes, press Esc.
  1267.   
  1268.                                      21
  1269.  
  1270.  
  1271.   3.17     Batch Mode
  1272.  
  1273.   AutoScript provides a useful batch mode feature.  This feature allows
  1274.   you to submit to AutoScript a list, in the form of a batch file, of one
  1275.   or more scripts to be played at later times and/or dates.  An unlimited
  1276.   number of scripts can be specified, and each script can be given a
  1277.   different date and time.  Dates can be specified up to a month in
  1278.   advance.  In addition, you can have AutoScript play a particular script
  1279.   at the specified time, regardless of the date, by typing "**" in place
  1280.   of the date.  You can also "chain" scripts so that they will be played
  1281.   one immediately after another.  For each batch script which you want to
  1282.   be played immediately following the termination of previous script,
  1283.   place a plus sign "+" in the first column of the line containing the
  1284.   name of that script.
  1285.  
  1286.   The format of the batch file is as follows:
  1287.  
  1288.       dd-hh:mm:ss script file name 1
  1289.       dd-hh:mm:ss script file name 2
  1290.           :    :
  1291.       dd-hh:mm:ss script file name n  (n is limited only by disk capacity)
  1292.  
  1293.   In the above description, dd represents the day of the month (1-31), hh,
  1294.   mm, and ss are the time of day in hours, minutes, and seconds,
  1295.   respectively, expressed in 24-hour format, and script file name is the
  1296.   name of the script file.  You should include a complete path
  1297.   description, including the disk drive letter.  The characters separating
  1298.   the dd, hh, mm, ss, and file name fields can be any character, providing
  1299.   that exactly one character separates each field.  The script file names
  1300.   must begin in the 13th column of each line.   To make AutoScript play a
  1301.   script at the same time every day, place "**" in the date field.  To
  1302.   "chain" a script to the previous script, place "+" in the first column,
  1303.   instead of the date and time.  For example, a file which looks like
  1304.   this:
  1305.  
  1306.       21-13:27:00 script1.scr
  1307.       21-22:00:00 script2.scr
  1308.       +           script3.scr
  1309.       +           script4.scr
  1310.       **-23:45:33 script5.scr
  1311.  
  1312.   will cause AutoScript to play "script1.scr" at 1:27 PM on the 21st of the
  1313.   month, "script2.scr" at 10:00 PM on the same day, "script3.scr"
  1314.   immediately after "script2.scr" finishes, and "script4.scr" immediately
  1315.   after "script3.scr".  A file which looks like this:
  1316.  
  1317.     **-10:45:33    script1.scr
  1318.     **-13:24:00    script2.scr
  1319.  
  1320.   will cause AutoScript to play "script1.scr" at 10:45:33 AM and
  1321.   "script2.scr" at 1:24:00 PM every day that AutoScript is loaded with
  1322.   this batch file.
  1323.  
  1324.   AutoScript can be placed in batch mode, either by using the /b
  1325.   command-line option, followed by the batch file name, or by entering a
  1326.   batch file name on the appropriate line in the Settings window.  At any
  1327.   time AutoScript is loaded, the batch file name can be entered or changed
  1328.   in the Settings window.  While AutoScript is in batch mode, it behaves
  1329.   exactly as it does when not in batch mode, except that the scripts are
  1330.   played at the specified times.  If AutoScript is in Play or Record mode
  1331.   when the time arrives to play a batch script, it will not play the batch
  1332.   script immediately.  Instead, it will wait up to 59 minutes to return to
  1333.   Standby or Interactive mode, and then play the batch script.
  1334.   
  1335.                                      22
  1336.  
  1337.  
  1338.   To take AutoScript out of batch mode withou unloading, delete the batch
  1339.   file name in the Settings window.
  1340.  
  1341.  
  1342.   3.18     Unloading AutoScript
  1343.  
  1344.   There are three ways to unload AutoScript: via the DOS command line,
  1345.   by the Unload action in the Actions window, and by an Unload script
  1346.   command.
  1347.  
  1348.   To unload AutoScript via the DOS command line, at the DOS prompt (not
  1349.   from a DOS shell within another application) type:
  1350.  
  1351.       AS /u <Enter>.
  1352.  
  1353.   AutoScript will try to unhook the interrupts which it was using, and if
  1354.   successful, it will free its memory.  If any of the interrupts were
  1355.   hooked by another program, AutoScript will be unable to unload itself,
  1356.   but will instead, deactivate itself and remain in memory.  When trying
  1357.   to unload AutoScript via the DOS command-line,  AutoScript will respond
  1358.   in such a situation with the message:
  1359.  
  1360.       "Unable to unload",
  1361.  
  1362.  
  1363.   Once AutoScript has been deactivated, it will ignore all hot keys, and
  1364.   all features will be disabled.  It will then be removable only via the
  1365.   DOS command-line.  To remove AutoScript, first remove all TSRs which
  1366.   were loaded after it, as well as any applications which have hooked the
  1367.   interrupts.
  1368.  
  1369.  
  1370.   Chapter 4    Creating Scripts With a Text Editor
  1371.  
  1372.   Scripts can be created and edited using any text editor.  The resultant
  1373.   text file is then converted into a binary script file using the
  1374.   AutoScript script compiler (AC.EXE).  Binary script files can be
  1375.   converted to ASCII text files with the AutoScript script uncompiler
  1376.   (AUC.EXE).
  1377.  
  1378.   Text files submitted to the script compiler may contain the following
  1379.   elements:  line comments, block comments, commands, conditions, and
  1380.   keystrokes.  The following sections describe each of these elements.
  1381.  
  1382.  
  1383.   4.1      Line and Block Comments
  1384.  
  1385.   Line and block comments are ignored by the script compiler, and
  1386.   therefore do not appear in the output script file.  They should not be
  1387.   confused with script Comment commands which are actually contained
  1388.   within the binary script file, but are ignored by AutoScript during
  1389.   script play.  Line comments are delimited by a semicolon.  The script
  1390.   compiler will ignore all characters following a semicolon until the
  1391.   beginning of a new line.  Block comments are delimited by forward slash
  1392.   "/" characters at the beginning and end of the comment.  The compiler
  1393.   will ignore all characters between two block comment delimiters.  Line
  1394.   and block comments may not occur within a command statement or a
  1395.   keystroke string.
  1396.   
  1397.                                      23
  1398.  
  1399.  
  1400.   4.2      Commands and Conditions
  1401.  
  1402.   Script commands and conditions may appear in either upper or lower-case
  1403.   (or a mixture thereof), and may appear more than one per line, providing
  1404.   they are separated by at least one white-space character (ie. space,
  1405.   tab, or newline), and do not appear within a keystroke string.  A wide
  1406.   variety of features are provided by the script commands.  Condition
  1407.   checks provide for conditional branching capability within a script.
  1408.   Chapter 5 describes all of the AutoScript script commands and
  1409.   conditions.
  1410.  
  1411.  
  1412.   4.3      Keystrokes
  1413.  
  1414.   Text files submitted to the script compiler can also contain keystrokes.
  1415.   A keystroke can be any ASCII character (including both upper and
  1416.   lower-case letters), as well as keys such as F1, F2, Enter, Home, etc..
  1417.   Some keystrokes may be prefixed by "Alt-", "Ctrl-", or "Shft-".
  1418.   Keystrokes which are not defined by a single character, such as "Enter"
  1419.   or "Alt-A", must be enclosed in brackets "< >".  These keystrokes
  1420.   represent a word consisting of an ASCII byte and a keyboard scan code
  1421.   byte, and are what are actually placed in the PC's BIOS keyboard buffer
  1422.   during script play, and read by the application program.  Do not confuse
  1423.   these keystrokes with hot keys and the key names which are given as
  1424.   arguments for some script commands.  Those keys represent the code bytes
  1425.   which are produced by the keyboard when particular keys are pressed, and
  1426.   may or may not correspond to words placed in the BIOS keyboard buffer.
  1427.  
  1428.   Table 4-1 lists the multi-character names to be used for keystrokes.
  1429.   Keystroke names which begin with "KP" refer the numeric keypad keys.  To
  1430.   include keystrokes in the script, type a string of keystrokes, enclosed
  1431.   in quotes.  The keystrokes \, ", and < must be preceded by a backslash \
  1432.   character.  A typical line in a text script file might look like this:
  1433.  
  1434.   "EDIT A:\\MYFILE.SCA<Enter><F1><Esc><Alt-F><DArrow><DArrow><Enter>"
  1435.  
  1436.  
  1437.     ╔═════════════════════════════════════════════════════════════════╗
  1438.     ║ F1       F2       F3       F4       F5       F6       F7        ║
  1439.     ║ F8       F9       F10      F11      F12      Esc      Bs        ║
  1440.     ║ Tab      Enter    Space    Ins      Del      Home     End       ║
  1441.     ║ PgUp     PgDn     LArrow   UArrow   DArrow   RArrow   KP/       ║
  1442.     ║ KP*      KP-      KP+      KP1      KP2      KP3      KP4       ║
  1443.     ║ KP5      KP6      KP7      KP8      KP9      KP0      KPHome    ║
  1444.     ║ KPUArrow KPPgDn   KPLArrow KPRArrow KPEnd    KPDArrow KPPgDn    ║
  1445.     ║ KPIns    KPDel    KPEnter                                       ║
  1446.     ╚═════════════════════════════════════════════════════════════════╝
  1447.                         Table 4-1 - Keystrokes
  1448.   
  1449.                                      24
  1450.  
  1451.  
  1452.   Chapter 5    Command and Condition Descriptions
  1453.  
  1454.   This chapter describes the syntax and usage of the script commands and
  1455.   conditions.  The syntax for a given command or condition is the same
  1456.   whether it is included in a text file to be compiled by the script
  1457.   compiler, or entered in the Add Command window during script recording.
  1458.  
  1459.   In the following descriptions, anywhere that a number is required as an
  1460.   argument, it may be specified in either decimal of hexadecimal format.
  1461.   hexadecimal numbers are distinguished by a "h" as their last character.
  1462.   For example: the number: "103" is equivalent to "67h".  Whenever a
  1463.   string argument needs to contain the characters " or \, the character
  1464.   must be preceded by a backslash.  Therefore, to include a quotation
  1465.   mark, you would type \", and to include a backslash, you would type \\.
  1466.  
  1467.  
  1468.   5.1      Commands
  1469.  
  1470.   Command:   Alarm
  1471.  
  1472.   Purpose:   Pauses play and produces an alarm sound which persists until
  1473.              a key is pressed.  Play will remain paused until the unpause
  1474.              key is pressed.  The unpause key is the same as the Pause Play
  1475.              hot key without a modifier.
  1476.  
  1477.   Syntax:    Alarm
  1478.  
  1479.   Example:   If Not DataStrR(0,124h,"abcdef")
  1480.              Alarm
  1481.   ────────────────────────────────────────────────────────────────────────
  1482.  
  1483.  
  1484.   Command:   And
  1485.  
  1486.   Purpose:   Used between two conditions.  "AND"s the results of the
  1487.              conditions.
  1488.  
  1489.   Syntax:    And
  1490.  
  1491.   Example:   If DataStrR(0,124h,"abcdef") And DataByteR(0,136h,a6h)
  1492.              Log("Both string and byte match")
  1493.  
  1494.   See Also:  Else, If, Not, Or
  1495.   ────────────────────────────────────────────────────────────────────────
  1496.  
  1497.  
  1498.   Command:   Beep
  1499.  
  1500.   Purpose:   Generates a short beep.
  1501.  
  1502.   Syntax:    Beep
  1503.  
  1504.   See Also:  Tone
  1505.   ────────────────────────────────────────────────────────────────────────
  1506.   
  1507.                                      25
  1508.  
  1509.  
  1510.  
  1511.   Command:   BeginBlock
  1512.  
  1513.   Purpose:   Denotes the beginning of a block.  When used in conjunction
  1514.              with conditions, if the condition is true, the commands
  1515.              within the block are executed.  If the condition is false,
  1516.              the entire block is skipped.  Blocks and loops may be nested
  1517.              up to 10 levels deep.
  1518.  
  1519.   Syntax:    BeginBlock
  1520.  
  1521.   Example:   If DataStrR(0,124h,"abcdef")
  1522.              BeginBlock
  1523.              Beep
  1524.              Log("String matched")
  1525.              EndBlock
  1526.  
  1527.   See Also:  EndBlock, EscapeBlock, BeginLoop, EndLoop, EscapeLoop
  1528.   ────────────────────────────────────────────────────────────────────────
  1529.  
  1530.  
  1531.   Command:   BeginLoop
  1532.  
  1533.   Purpose:   Denotes the beginning of a loop.  Loops are similar to
  1534.              blocks, except that the commands contained within a loop may
  1535.              be repeated a number of times.  If a loop immediately
  1536.              follows a condition, the entire loop is skipped if the
  1537.              condition is false.  Loops and blocks may be nested up to 10
  1538.              levels deep.
  1539.  
  1540.   Syntax:    BeginLoop(NumRepeats)
  1541.              NumRepeats:      number between 1 and 65535.  A value of
  1542.                               65535 (ffh) will cause an infinite loop.
  1543.  
  1544.   Example:   BeginLoop(793)     do this loop 793 times
  1545.              "This is another iteration of the loop."
  1546.              Log("Looped again.")
  1547.              EndLoop
  1548.  
  1549.   See Also:  BeginBlock, EndBlock, EscapeBlock, EndLoop, EscapeLoop
  1550.   ────────────────────────────────────────────────────────────────────────
  1551.  
  1552.  
  1553.   Command:   BlankScrn
  1554.  
  1555.   Purpose:   Blanks the PC's screen.
  1556.  
  1557.   Syntax:    BlankScrn
  1558.  
  1559.   See Also:  UnblankScrn
  1560.   ────────────────────────────────────────────────────────────────────────
  1561.   
  1562.                                      26
  1563.  
  1564.  
  1565.   Command:   ClickOff
  1566.  
  1567.   Purpose:   Turns off key click.
  1568.  
  1569.   Syntax:    ClickOff
  1570.  
  1571.   See Also:  ClickOn
  1572.   ────────────────────────────────────────────────────────────────────────
  1573.  
  1574.  
  1575.   Command:   ClickOn
  1576.  
  1577.   Purpose:   Turns on key click.
  1578.  
  1579.   Syntax:    ClickOn
  1580.  
  1581.   See Also:  ClickOff
  1582.   ────────────────────────────────────────────────────────────────────────
  1583.  
  1584.   Command:   ClrScrn
  1585.  
  1586.   Purpose:   Clears the PC's screen and video memory.
  1587.  
  1588.   Syntax:    ClrScrn
  1589.   ────────────────────────────────────────────────────────────────────────
  1590.  
  1591.   Command:   Comment
  1592.  
  1593.   Purpose:   Denotes a script comment.
  1594.  
  1595.   Syntax:    Comment(TheComment)
  1596.              TheComment:      a text string, up to 60 characters in
  1597.                               length, enclosed in quotes.
  1598.  
  1599.   Example:   Comment("This is a comment")
  1600.   ────────────────────────────────────────────────────────────────────────
  1601.  
  1602.  
  1603.   Command:   CopyScrnTxt
  1604.  
  1605.   Purpose:   Copies the text from the specified region of a text screen
  1606.              to a file.
  1607.  
  1608.   Syntax:    CopyScrnTxt(TopRow,LeftCol,BottomRow,RightCol,Filename)
  1609.              TopRow,LeftCol,BottomRow,RightCol:
  1610.                               the top-left and bottom-right coordinates
  1611.                               of the text to copy.  Row/column numbering
  1612.                               starts at 0,0.
  1613.              Filename:        the name of the file to which the text is
  1614.                               to be saved, enclosed in quotes.
  1615.  
  1616.   Example:   CopyScrnTxt(0,0,24,79,"screen.sav") copy all text on scrn
  1617.  
  1618.   See Also:  PrntScrnTxt, SaveScrn
  1619.   ────────────────────────────────────────────────────────────────────────
  1620.   
  1621.                                      27
  1622.  
  1623.  
  1624.   Command:   CtrlBreak
  1625.  
  1626.   Purpose:   Has the same affect as pressing Ctrl-Break on the keyboard.
  1627.  
  1628.   Syntax:    CtrlBreak
  1629.   ────────────────────────────────────────────────────────────────────────
  1630.  
  1631.  
  1632.   Command:   CtrlC
  1633.  
  1634.   Purpose:   Has the same affect as pressing Ctrl-C on the keyboard.
  1635.  
  1636.   Syntax:    CtrlC
  1637.   ────────────────────────────────────────────────────────────────────────
  1638.  
  1639.  
  1640.   Command:   Delay
  1641.  
  1642.   Purpose:   Delays script play for a specified number of clock ticks.
  1643.              A clock tick is approximately 1/18th of a second.
  1644.  
  1645.   Syntax:    Delay(NumTicks)
  1646.              NumTicks:        the number of clock ticks to wait.
  1647.  
  1648.   Example:   Delay(18)   ;wait about 1 second
  1649.  
  1650.   See Also:  PausePlay, WaitForString, WaitUntil
  1651.   ────────────────────────────────────────────────────────────────────────
  1652.  
  1653.  
  1654.   Command:   DelFile
  1655.  
  1656.   Purpose:   Deletes the specified file.
  1657.  
  1658.   Syntax:    DelFile(Filename)
  1659.  
  1660.   Filename:  the name of the file to delete, enclosed in quotes.
  1661.  
  1662.   Example:   DelFile("C:\\files\\afile.abc")
  1663.   ────────────────────────────────────────────────────────────────────────
  1664.  
  1665.  
  1666.   Command:   DisableKey
  1667.  
  1668.   Purpose:   Disables the specified key.  When you have specified one or
  1669.              more keys to be disabled, AutoScript causes the disabled
  1670.              key(s) to be missed by the foreground process.  If you
  1671.              specify one or more keys to be enabled (with the EnableKey
  1672.              command), AutoScript causes all but the enabled key(s) to be
  1673.              missed by the foreground process.  You can enable or disable
  1674.              up to a total of 20 keys.  If no keys are yet enabled or
  1675.              disabled when this command is encountered, AutoScript will
  1676.              be set to disable the specified key.  If AutoScript has
  1677.              already been set to enable one or more keys, and the
  1678.              specified key is in the key list, it will be removed from the
  1679.              list.  If the key is not in the list, the list will be
  1680.              cleared, and AutoScript will be set to disable the specified
  1681.              key.  If AutoScript is already set to disable one or more
  1682.   
  1683.                                      28
  1684.  
  1685.  
  1686.              keys when this command is encountered, and the specified key
  1687.              is not already in the list, it will be added to the list.
  1688.  
  1689.   Syntax:    DisableKey(Key)
  1690.              Key:             one of the keys as listed in Table 5-1.
  1691.  
  1692.   Example:   DisableKey(Tab)   disable the Tab key
  1693.  
  1694.   See Also:  EnableKey
  1695.   ────────────────────────────────────────────────────────────────────────
  1696.  
  1697.  
  1698.   Command:   DisplScrn
  1699.  
  1700.   Purpose:   Displays a text screen which was previously saved.
  1701.  
  1702.   Syntax:    DisplScrn(Filename)
  1703.              Filename:  the name of the screen file, enclosed in quotes.
  1704.  
  1705.   See Also:  SaveScrn
  1706.   ────────────────────────────────────────────────────────────────────────
  1707.  
  1708.  
  1709.   Command:   Else
  1710.  
  1711.   Purpose:   Used after a condition.  If the condition was true, the
  1712.              following command, keystroke, block, or loop will be skipped.
  1713.              If the condition was false, the following command, keystroke,
  1714.              block, or loop will be executed.
  1715.  
  1716.   Syntax:    Else
  1717.  
  1718.   Example:   If DataStrR(0,124h,"abcdef")
  1719.              Log("String matched")
  1720.              Else
  1721.              Log("String not matched")
  1722.  
  1723.   See Also:  And, If, Not, Or
  1724.   ────────────────────────────────────────────────────────────────────────
  1725.  
  1726.  
  1727.   Command:   EnableBlink
  1728.  
  1729.   Purpose:   Enables blinking or background intensity for screens
  1730.              subsequently displayed by the DisplScrn command and Display
  1731.              Screen action, on EGA and VGA displays.    When blinking is
  1732.              enabled, and a screen is displayed, any text in the screen
  1733.              which has its blink attribute set will be displayed blinking.
  1734.              When blinking is disabled (bg intensity is enabled), text with
  1735.              its blink attribute set will be displayed with a bright
  1736.              background.
  1737.  
  1738.   Syntax:    EnableBlink(X)
  1739.              X:               0: disable blinking (enable bg intensity).
  1740.                               1: enable blinking
  1741.  
  1742.   See Also:  SetVidMode
  1743.   ────────────────────────────────────────────────────────────────────────
  1744.   
  1745.                                      29
  1746.  
  1747.  
  1748.   Command:   EnableKey
  1749.  
  1750.   Purpose:   Enables the specified key.  When you have specified one or
  1751.              more keys to be enabled, AutoScript causes all but the
  1752.              enabled key(s) to be missed by the foreground process.  If
  1753.              you specify one or more keys to be disabled (with the
  1754.              DisableKey command), AutoScript causes the disabled key(s)
  1755.              to be missed by the foreground process.  You can enable or
  1756.              disable up to a total of 20 keys.  If no keys are yet
  1757.              enabled or disabled when this command is encountered,
  1758.              AutoScript will be set to enable the specified key (and
  1759.              thereby disable all other keys).  If AutoScript has already
  1760.              been set to disable one or more keys, and the specified key
  1761.              is in the key list, it will be removed from the list.  If
  1762.              the key is not in the list, the list will be cleared, and
  1763.              AutoScript will be set to enable the specified key (and
  1764.              thereby disable all other keys).  If AutoScript is already
  1765.              set to enable one or more keys when this command is
  1766.              encountered, and the specified key is not already in the
  1767.              list, it will be added to the list.
  1768.  
  1769.   Syntax:    EnableKey(Key)
  1770.              Key:             one of the keys as listed in Table 5-1.
  1771.  
  1772.   Example:   EnableKey(Enter)   ;disable all keys but the Enter key
  1773.  
  1774.   See Also:  DisableKey
  1775.   ────────────────────────────────────────────────────────────────────────
  1776.  
  1777.  
  1778.   Command:   EndBlock
  1779.  
  1780.   Purpose:   Denotes the end of a block.
  1781.  
  1782.   Syntax:    EndBlock
  1783.  
  1784.   Example:   BeginBlock
  1785.              "some keystrokes"
  1786.              EndBlock
  1787.  
  1788.   See Also:  BeginBlock, EscapeBlock, BeginLoop, EndLoop, EscapeLoop
  1789.   ────────────────────────────────────────────────────────────────────────
  1790.  
  1791.  
  1792.   Command:   EndLoop
  1793.  
  1794.   Purpose:   Denotes the end of a loop.  When this command is encountered,
  1795.              AutoScript will return to the beginning of the loop if there
  1796.              are more iterations left to do.
  1797.  
  1798.   Syntax:    EndLoop
  1799.  
  1800.   Example:   BeginLoop(10)      ;loop 10 times
  1801.                "some keystrokes"
  1802.              EndLoop
  1803.  
  1804.   See Also:  BeginBlock, EndBlock, EscapeBlock, BeginLoop, EscapeLoop
  1805.   ────────────────────────────────────────────────────────────────────────
  1806.   
  1807.                                      30
  1808.  
  1809.  
  1810.   Command:   EscapeBlock
  1811.  
  1812.   Purpose:   When this command is encountered, AutoScript will ignore all
  1813.              commands and keystrokes until the end of the current block.
  1814.  
  1815.   Syntax:    EscapeBlock
  1816.  
  1817.   Example:   BeginBlock
  1818.                "some keystrokes"
  1819.              If DataStrR(0,124h,"abcdef") EscapeBlock
  1820.              "some more keystrokes"
  1821.              EndBlock
  1822.  
  1823.   See Also:  BeginBlock, EscapeBlock, BeginLoop, EndLoop, EscapeLoop
  1824.   ────────────────────────────────────────────────────────────────────────
  1825.  
  1826.  
  1827.   Command:   EscapeLoop
  1828.  
  1829.   Purpose:   When this command is encountered, AutoScript will ignore all
  1830.              commands and keystrokes until the end of the current loop,
  1831.              and no more loop iterations will be done.
  1832.  
  1833.   Syntax:    EscapeLoop
  1834.  
  1835.   Example:   BeginLoop(ffh)
  1836.                If DataByteR(0,123h,6eh) EscapeLoop
  1837.                Log("not finished yet")
  1838.              EndLoop
  1839.              Log("now we're finished")
  1840.  
  1841.   See Also:  BeginBlock, EndBlock, EscapeBlock, BeginLoop, EndLoop
  1842.   ────────────────────────────────────────────────────────────────────────
  1843.  
  1844.  
  1845.   Command:   GenIntr
  1846.  
  1847.   Purpose:   Generates an interrupt.  The values that the registers are
  1848.              to have when the interrupt is generated are set using
  1849.              SetRegister commands.  The values of the registers
  1850.              immediately after the interrupt are saved for use by the
  1851.              Register condition.
  1852.  
  1853.   Syntax:    GenIntr(IntrNum)
  1854.              IntrNum:         the interrupt number.
  1855.  
  1856.   Example:   SetRegister(AH,12h)    ;get video configuration
  1857.              SetRegister(BL,10h)    information
  1858.              Genintr(10h)
  1859.              If Register(BH,0) Log("Color display installed")
  1860.              Else Log("Monochrome Display installed")
  1861.  
  1862.   See Also:  Register, SetRegister
  1863.   ────────────────────────────────────────────────────────────────────────
  1864.   
  1865.                                      31
  1866.  
  1867.  
  1868.   Command:   HideCur
  1869.  
  1870.   Purpose:   Saves the current location and size of the text cursor, and
  1871.              then makes it invisible.
  1872.  
  1873.   Syntax:    HideCur
  1874.  
  1875.   See Also:  ShowCur
  1876.   ────────────────────────────────────────────────────────────────────────
  1877.  
  1878.  
  1879.   Command:   If
  1880.  
  1881.   Purpose:   Precedes a condition.
  1882.  
  1883.   Syntax:    If
  1884.  
  1885.   Example:   If DataStrR(0,124h,"abcdef")
  1886.              Beep
  1887.  
  1888.   See Also:  And, Else, Not, Or
  1889.   ────────────────────────────────────────────────────────────────────────
  1890.  
  1891.  
  1892.   Command:   InsScr
  1893.  
  1894.   Purpose:   Plays the specified script, and then returns to the original
  1895.              script.
  1896.  
  1897.   Syntax:    InsScr(ScriptName)
  1898.              ScriptName:       the name of the script to be played,
  1899.                                enclosed in quotes.
  1900.  
  1901.   Example:   InsScr("A:\\def\\myscript.scr")
  1902.  
  1903.   See Also:  LoadScr
  1904.   ────────────────────────────────────────────────────────────────────────
  1905.  
  1906.  
  1907.   Command:   KbdStatOff
  1908.  
  1909.   Purpose:   Turns off the specified bits in the PC's keyboard status
  1910.              buffer, emulating the release of the Ctrl, Alt, and/or Shift
  1911.              keys, and/or the turning off of the Caps Lock, Num Lock,
  1912.              and/or Scroll Lock states.
  1913.  
  1914.   Syntax:    KbdStatOff(KbdStatDescr)
  1915.              KbdStatDescr:    any combination of the following letters:
  1916.                               A:    Alt key
  1917.                               C:    Ctrl key
  1918.                               S:    Shift key
  1919.                               L:    Left (in conj. with Alt/Ctrl/Shift)
  1920.                               R:    Right (in conj. with Alt/Ctrl/Shift)
  1921.                               N:    Num lock state
  1922.                               O:    Scroll lock state
  1923.                               P:    Caps lock state
  1924.   
  1925.                                      32
  1926.  
  1927.  
  1928.   Example:   KbdStatOff(N)   ;turn off Num lock state
  1929.              KbdStatOn(LA)   ;emulate pressing of left Alt key
  1930.              KbdStatOff(LA)  ;emulate release of left Alt key
  1931.  
  1932.   See Also:  KbdStatOn
  1933.   ────────────────────────────────────────────────────────────────────────
  1934.  
  1935.  
  1936.   Command:   KbdStatOn
  1937.  
  1938.   Purpose:   Turns on the specified bits in the PC's keyboard status
  1939.              buffer, emulating the pressing of the Ctrl, Alt, and/or
  1940.              Shift keys, and/or the turning on of the Caps Lock, Num
  1941.              Lock, and/or Scroll Lock states.
  1942.  
  1943.   Syntax:    KbdStatOn(KbdStatDescr)
  1944.              KbdStatDescr:    as described for KbdStatOff.
  1945.  
  1946.   Example:   KbdStatOn(P)   ;turn on Caps Lock state
  1947.  
  1948.   See Also:  KbdStatOff
  1949.   ────────────────────────────────────────────────────────────────────────
  1950.  
  1951.  
  1952.   Command:   LoadScr
  1953.  
  1954.   Purpose:   Causes AutoScript to play the specified script, and then
  1955.              return to the default mode.  Unlike the InsScr command, it
  1956.              does not cause AutoScript to return to the original script
  1957.              upon completion.
  1958.  
  1959.   Syntax:    LoadScr(ScriptName)
  1960.              ScriptName:      the name of the script to be played,
  1961.                               enclosed in quotes.
  1962.  
  1963.   See Also:  InsScr
  1964.   ────────────────────────────────────────────────────────────────────────
  1965.  
  1966.  
  1967.   Command:   LockKbd
  1968.  
  1969.   Purpose:   Locks the keyboard.
  1970.  
  1971.   Syntax:    LockKbd(Password)
  1972.              Password:        an ASCII string, up to 10 characters in
  1973.                               length, containing any combination of
  1974.                               letters and numbers, as well as any other
  1975.                               characters which can be typed without the
  1976.                               help of the Ctrl, Shift, or Alt keys,
  1977.                               enclosed in quotes.
  1978.  
  1979.   Example:   LockKbd("mypassword")
  1980.  
  1981.   See Also:  UnlockKbd
  1982.   ────────────────────────────────────────────────────────────────────────
  1983.   
  1984.                                      33
  1985.  
  1986.  
  1987.  
  1988.  
  1989.   Command:   Log
  1990.  
  1991.   Purpose:   Stores the given string in the log file along with the time.
  1992.  
  1993.   Syntax:    Log(LogString)
  1994.              LogString:       an ASCII string, up to 60 characters in
  1995.                               length, enclosed in quotes.
  1996.  
  1997.   Example:   If DataStrR(0,124h,"abcdef")
  1998.              Log("String matched")
  1999.              Else
  2000.              Log("String not matched")
  2001.   ────────────────────────────────────────────────────────────────────────
  2002.  
  2003.  
  2004.   Command:   Mask
  2005.  
  2006.   Purpose:   Masks off the specified part of the screen for subsequent
  2007.              screen comparisons.  The next time the Screen condition is
  2008.              encountered, the contents of masked parts of the screen will
  2009.              not be compared.  You can mask off up to five areas of the
  2010.              screen.  Masked areas may overlap.  The screen masks are
  2011.              cleared automatically when a script is played.  You can also
  2012.              clear the screen masks by giving this command with all zeros
  2013.              as its arguments.
  2014.  
  2015.   Syntax:    Mask(TopRow,LeftCol,BottomRow,RightCol)
  2016.              TopRow,LeftCol,BottomRow,RightCol:
  2017.                               the top-left and bottom-right coordinates
  2018.                               of the area to mask.  Row/column numbering
  2019.                               starts at 0,0.
  2020.  
  2021.   See Also:  Scrn
  2022.   ────────────────────────────────────────────────────────────────────────
  2023.  
  2024.  
  2025.   Command:   Not
  2026.  
  2027.   Purpose:   Reverses the outcome of the next condition.
  2028.  
  2029.   Syntax:    Not
  2030.  
  2031.   Example:   If Not DataStrR(0,124h,"abcdef")
  2032.              Log("String not matched")
  2033.  
  2034.   See Also:  And, Else, If, Or
  2035.   ────────────────────────────────────────────────────────────────────────
  2036.  
  2037.  
  2038.   Command:   Or
  2039.  
  2040.   Purpose:   Used between two conditions.  "OR"s the results of the
  2041.              conditions.
  2042.  
  2043.   Syntax:    Or
  2044.   
  2045.                                      34
  2046.  
  2047.  
  2048.   Example:   If DataStrR(0,124h,"abcdef") Or DataByteR(0,136h,a6h)
  2049.              Log("Either string or byte matched")
  2050.  
  2051.   See Also:  And, Else, If, Not
  2052.   ────────────────────────────────────────────────────────────────────────
  2053.  
  2054.  
  2055.   Command:   OutByte
  2056.  
  2057.   Purpose:   Outputs a byte to an I/O port.
  2058.  
  2059.   Syntax:    OutByte(PortID,TheByte)
  2060.              PortID:          the I/O port ID.
  2061.              TheByte:         the byte to be output.
  2062.  
  2063.   See Also:  OutWord
  2064.   ────────────────────────────────────────────────────────────────────────
  2065.  
  2066.  
  2067.   Command:   OutWord
  2068.  
  2069.   Purpose:   Outputs a word to an I/O port.
  2070.  
  2071.   Syntax:    OutByte(PortID,TheWord)
  2072.              PortID:          the I/O port ID.
  2073.              TheWord:         the word to be output.
  2074.  
  2075.   See Also:  OutByte
  2076.   ────────────────────────────────────────────────────────────────────────
  2077.  
  2078.  
  2079.   Command:   Pause
  2080.  
  2081.   Purpose:   Pauses system operation.  Similar to pushing the Pause key
  2082.              on the keyboard.  Script play continues in the background.
  2083.  
  2084.   Syntax:    Pause
  2085.  
  2086.   See Also:  PausePlay, PauseSys
  2087.   ────────────────────────────────────────────────────────────────────────
  2088.  
  2089.  
  2090.   Command:   PausePlay
  2091.  
  2092.   Purpose:   Temporarily suspends play until either the specified unpause
  2093.              key is pressed, or the specified pause time elapses.
  2094.  
  2095.   Syntax:    PausePlay(PauseTime,UnpauseKey)
  2096.              PauseTime:       the maximum length of the pause in seconds.
  2097.                               value may be between 1 and 65535.
  2098.              UnpauseKey:      one of the keys as listed in Table 5-1.
  2099.  
  2100.   See Also:  Pause, PauseSys
  2101.   ────────────────────────────────────────────────────────────────────────
  2102.   
  2103.                                      35
  2104.  
  2105.  
  2106.   Command:   PauseSys
  2107.  
  2108.   Purpose:   Temporarily suspends the foreground process until either
  2109.              the specified unpause key is pressed, or the specified
  2110.              pause time elapses.  Script play continues in the
  2111.              background.
  2112.  
  2113.   Syntax:    PauseSys(PauseTime,UnpauseKey)
  2114.              PauseTime:       the maximum length of the pause in seconds.
  2115.                               value may be between 1 and 65535.
  2116.              UnpauseKey:      one of the keys as listed in Table 5-1.
  2117.  
  2118.   See Also:  Pause, PausePlay
  2119.   ────────────────────────────────────────────────────────────────────────
  2120.  
  2121.  
  2122.   Command:   PrntScrn
  2123.  
  2124.   Purpose:   Generates a Print screen interrupt as is done when the Print
  2125.              Screen key is pressed.
  2126.  
  2127.   Syntax:    PrntScrn
  2128.  
  2129.   See Also:  PrntScrnText
  2130.   ────────────────────────────────────────────────────────────────────────
  2131.  
  2132.  
  2133.   Command:   PrntScrnTxt
  2134.  
  2135.   Purpose:   Prints the text in the specified region of the screen.
  2136.  
  2137.   Syntax:    PrntScrnTxt(TopRow,LeftCol,BottomRow,RightCol)
  2138.              TopRow,LeftCol,BottomRow,RightCol:
  2139.                               the top-left and bottom-right coordinates
  2140.                               of the text to print.  Row/column numbering
  2141.                               starts at 0,0.
  2142.  
  2143.   See Also:  CopyScrnText, PrntScrn
  2144.   ────────────────────────────────────────────────────────────────────────
  2145.  
  2146.  
  2147.   Command:   Reboot
  2148.  
  2149.   Purpose:   Reboots the PC.
  2150.  
  2151.   Syntax:    Reboot(X)
  2152.              X:               0: "cold" boot, same as pressing the reset
  2153.                                   button.
  2154.                               1: "warm" boot, same as pressing
  2155.                                   Ctrl-Alt-Del.
  2156.   ────────────────────────────────────────────────────────────────────────
  2157.  
  2158.  
  2159.   Command:   RestoreLine
  2160.  
  2161.   Purpose:   Restores the area of the screen overwritten by the last
  2162.              WriteLine command.
  2163.  
  2164.   See Also:  WriteLine
  2165.   ────────────────────────────────────────────────────────────────────────
  2166.   
  2167.                                      36
  2168.  
  2169.  
  2170.   Command:   SaveDataA
  2171.  
  2172.   Purpose:   Saves a block of data from the PC's RAM to a file.  You
  2173.              specify the starting absolute segment and offset, the number
  2174.              of bytes to save, and the name of the file to which the data
  2175.              is to be saved.  The segment and offset values are taken
  2176.              from the beginning of memory (0000:0000).
  2177.  
  2178.   Syntax:    SaveDataA(Segment,Offset,NumBytes,Filename)
  2179.              Segment:         the segment address of the beginning of the
  2180.                               block between 0000h and ffffh.
  2181.              Offset:          the offset of the beginning of the block,
  2182.                               between 0000h and ffffh.
  2183.              NumBytes:        the number of bytes to save, between 1 and
  2184.                               65535.
  2185.              Filename:        the name of the file in which to save the
  2186.                               data, enclosed in quotes.
  2187.  
  2188.   See Also:  DataBlkA, SaveDataR
  2189.   ────────────────────────────────────────────────────────────────────────
  2190.  
  2191.  
  2192.   Command:   SaveDataR
  2193.  
  2194.   Purpose:   Save a block of data from the PC's RAM to a file.  You
  2195.              specify the starting relative segment and offset, the number
  2196.              of bytes to save, and the name of the file to which the data
  2197.              is to be saved.  The segment and offset values are taken
  2198.              relative to the beginning of the first segment of the current
  2199.              foreground process.  This command allows you to save the
  2200.              values of program variables whose relative addresses are known.
  2201.  
  2202.   Syntax:    SaveDataR(Segment,Offset,NumBytes,Filename)
  2203.              Segment:         the segment address of the beginning of the
  2204.                               block, between 0000h and ffffh.
  2205.              Offset:          the offset of the beginning of the block,
  2206.                               between 0000h and ffffh.
  2207.              NumBytes:        the number of bytes to save. between 1 and
  2208.                               65535.
  2209.              Filename:        the name of the file in which to save the
  2210.                               data, enclosed in quotes.
  2211.  
  2212.   See Also:  DataBlkR, SaveDataA
  2213.   ────────────────────────────────────────────────────────────────────────
  2214.  
  2215.  
  2216.   Command:   SaveScrn
  2217.  
  2218.   Purpose:   Saves the current text-mode screen to the specified file.
  2219.  
  2220.   Syntax:    SaveScrn(Filename)
  2221.              Filename:        the file name, enclosed in quotes.
  2222.  
  2223.   See Also:  DisplScrn, Scrn
  2224.   ────────────────────────────────────────────────────────────────────────
  2225.   
  2226.                                      37
  2227.  
  2228.  
  2229.   Command:   ScrEnd
  2230.  
  2231.   Purpose:   Terminates play, and returns to the default mode
  2232.              (ie. Standby or Interactive mode).
  2233.  
  2234.   Syntax:    ScrEnd
  2235.   ────────────────────────────────────────────────────────────────────────
  2236.  
  2237.  
  2238.   Command:   SetRegister
  2239.  
  2240.   Purpose:   Sets the value that a register is to have before an
  2241.              interrupt is generated by the GenIntr command.
  2242.  
  2243.   Syntax:    SetRegister(RegName,Value)
  2244.              RegName:         the register, one of the following:
  2245.                               AH, AL, BH, BL, CH, CL, DH, DL,
  2246.                               AX, BX, CX, DX, SI, DI, DS, ES.
  2247.              Value:           the value to place in the register.
  2248.  
  2249.   Example:   SetRegister(AX,1001h)    ;set border color
  2250.              SetRegister(BH,3)        ;to cyan
  2251.              Genintr(10h)
  2252.  
  2253.   See Also:  GenIntr, Register
  2254.   ────────────────────────────────────────────────────────────────────────
  2255.  
  2256.  
  2257.   Command:   SetVidMode
  2258.  
  2259.   Purpose:   Sets the PC's video mode
  2260.  
  2261.   Syntax:    SetVidMode(TheMode)
  2262.              TheMode:         the video mode.
  2263.  
  2264.   See Also:  EnableBlink
  2265.   ────────────────────────────────────────────────────────────────────────
  2266.  
  2267.  
  2268.   Command:   ShowCur
  2269.  
  2270.   Purpose:   Restores a text cursor which was hidden by the HideCur
  2271.              command.
  2272.  
  2273.   Syntax:    ShowCur
  2274.  
  2275.   See Also:  HideCur
  2276.   ────────────────────────────────────────────────────────────────────────
  2277.  
  2278.  
  2279.   Command:   SingStepOff
  2280.  
  2281.   Purpose:   Turns off single-step mode.
  2282.  
  2283.   Syntax:    SingStepOff
  2284.  
  2285.   See Also:  SingStepOn
  2286.   ────────────────────────────────────────────────────────────────────────
  2287.   
  2288.                                      38
  2289.  
  2290.  
  2291.   Command:   SingStepOn
  2292.  
  2293.   Purpose:   Turns on single-step mode.  You supply the name of the key
  2294.              which you want to be the step key.
  2295.  
  2296.   Syntax:    SingStepOn(Key)
  2297.              Key:             any key from Table 5-1.
  2298.  
  2299.   See Also:  SingStepOn
  2300.   ────────────────────────────────────────────────────────────────────────
  2301.  
  2302.  
  2303.   Command:   StandDelOff
  2304.  
  2305.   Purpose:   Turns off the standard delay.
  2306.  
  2307.   Syntax:    StandDelOff
  2308.  
  2309.   See Also:  StandDelOn
  2310.   ────────────────────────────────────────────────────────────────────────
  2311.  
  2312.  
  2313.   Command:   StandDelOn
  2314.  
  2315.   Purpose:   Turns on the standard delay.  You specify the delay value in
  2316.              clock ticks.  A clock tick is about 1/18 of a second.  When
  2317.              the standard delay is on, AutoScript will wait the standard
  2318.              delay time between each keystroke and command in Play mode,
  2319.              and will disregard all Delay commands.
  2320.  
  2321.   Syntax:    StandDelOn(DelayTime)
  2322.              DelayTime:       the delay time in clock ticks.
  2323.  
  2324.   See Also:  StandDelOff
  2325.   ────────────────────────────────────────────────────────────────────────
  2326.  
  2327.  
  2328.   Command:   StuffTxtFile
  2329.  
  2330.   Purpose:   Stuffs the contents of the specified text file into the
  2331.              keyboard buffer (ie. "types" the contents of the file).
  2332.  
  2333.   Syntax:    StuffTxtFile(Filename)
  2334.              Filename:        the name of the text file, enclosed in
  2335.                               quotes.
  2336.   ────────────────────────────────────────────────────────────────────────
  2337.  
  2338.  
  2339.   Command:   SysRq
  2340.  
  2341.   Purpose:   Has the same affect as pressing the SysRq key.
  2342.  
  2343.   Syntax:    SysRq
  2344.   ────────────────────────────────────────────────────────────────────────
  2345.   
  2346.                                      39
  2347.  
  2348.  
  2349.   Command:   Tone
  2350.  
  2351.   Purpose:   Produces a tone of a specified frequency and duration.
  2352.  
  2353.   Syntax:    Tone(Freq,Duration)
  2354.              Freq:            the frequency in Hz, between 0 and 65535.
  2355.              Duration:        the duration of the tone in clock ticks,
  2356.                                between 0 and 65535.
  2357.  
  2358.   See Also:  Beep
  2359.   ────────────────────────────────────────────────────────────────────────
  2360.  
  2361.  
  2362.   Command:   UnblankScrn
  2363.  
  2364.   Purpose:   Unblanks the PC's screen if it is blanked.  If it is not
  2365.              blanked, it resets the screen blank timer.
  2366.  
  2367.   Syntax:    UnblankScrn
  2368.  
  2369.   See Also:  BlankScrn
  2370.   ────────────────────────────────────────────────────────────────────────
  2371.  
  2372.  
  2373.   Command:   Unload
  2374.  
  2375.   Purpose:   Causes AutoScript to try to remove itself, and free its
  2376.              memory.  If any interrupts which AutoScript is using were
  2377.              hooked after AutoScript was loaded, it will not be able to
  2378.              remove itself.  Instead, it will deactivate itself, but
  2379.              remain in memory.  After deactivation, all hot keys will be
  2380.              ignored, and all features will be disabled.  If the screen
  2381.              was blank, or the keyboard was locked when this command is
  2382.              encountered, the screen will be unblanked, and the keyboard
  2383.              will be unlocked.
  2384.  
  2385.   Syntax:    Unload
  2386.   ────────────────────────────────────────────────────────────────────────
  2387.  
  2388.  
  2389.   Command:   UnlockKbd
  2390.  
  2391.   Purpose:   Unlocks the keyboard if it is locked.
  2392.  
  2393.   Syntax:    UnlockKbd
  2394.  
  2395.   See Also:  LockKbd
  2396.   ────────────────────────────────────────────────────────────────────────
  2397.  
  2398.  
  2399.   Command:   Unpause
  2400.  
  2401.   Purpose:   Terminates a pause started by the Pause or PauseSys commands.
  2402.  
  2403.   Syntax:    Unpause
  2404.  
  2405.   See Also:  Pause, PauseSys
  2406.   ────────────────────────────────────────────────────────────────────────
  2407.   
  2408.                                      40
  2409.  
  2410.  
  2411.   Command:   WaitForString
  2412.  
  2413.   Purpose:   Causes AutoScript to suspend script play until the specified
  2414.              string is typed at the keyboard.  This command should not be
  2415.              used when the kbd is locked.
  2416.  
  2417.   Syntax:    WaitForString(TheString)
  2418.              TheString:       an ASCII string, up to 10 characters in
  2419.                               length, containing any combination of
  2420.                               letters and numbers, as well as any other
  2421.                               characters which can be typed without the
  2422.                               help of the Ctrl, Shift, or Alt keys,
  2423.                               enclosed in quotes.
  2424.  
  2425.   See Also:  PausePlay, WaitUntil
  2426.   ────────────────────────────────────────────────────────────────────────
  2427.  
  2428.  
  2429.   Command:   WaitUntil
  2430.  
  2431.   Purpose:   Suspends script play until the specified time arrives.  If
  2432.              the specified time is earlier than the current time, but no
  2433.              more than 59 minutes earlier, play proceeds immediately.
  2434.  
  2435.   Syntax:    WaitUntil(Hours,Mins,Secs)
  2436.              Hours:           time of day (hours) (24-hour format).
  2437.              Mins:            time of day (minutes).
  2438.              Secs:            time of day (seconds).
  2439.  
  2440.   See Also:  PausePlay, WaitForString
  2441.   ────────────────────────────────────────────────────────────────────────
  2442.  
  2443.   Command:   WriteLine
  2444.  
  2445.   Purpose:   Writes a line of text directly to the screen.
  2446.  
  2447.   Syntax:    WriteLine(Row,Col,Attribute,TheText)
  2448.              Row:             row where text is to appear.
  2449.              Col:             column where text is to start.
  2450.              Attribute:       the text attribute (usual BIOS format).
  2451.              TheText:         the text to write, enclosed in quotes.
  2452.  
  2453.   See Also:  RestoreLine
  2454.   ────────────────────────────────────────────────────────────────────────
  2455.   
  2456.                                      41
  2457.  
  2458.  
  2459.   5.2      Conditions
  2460.  
  2461.   AutoScript script conditions are commands which check a particular
  2462.   condition, and return a true/false result.  The And, If, Not, and Or
  2463.   commands, along with the conditions, provide the facilities for
  2464.   conditional execution within a script.
  2465.  
  2466.  
  2467.   Condition: DataBlkA
  2468.  
  2469.   Purpose:   Compares a block of data in RAM with the contents of a file.
  2470.              The data block is specified by its absolute address (ie. the
  2471.              segment and offset addresses relative to the beginning of
  2472.              memory).  The number of bytes compared depends on the file
  2473.              size.  If the bytes in the block match the bytes in the file,
  2474.              the condition returns the result true.
  2475.  
  2476.   Syntax:    DataBlkA(Segment,Offset,Filename)
  2477.              Segment:         the segment address of the beginning of the
  2478.                               block, between 0000h and ffffh.
  2479.              Offset:          the offset of the beginning of the block,
  2480.                               between 0000h and ffffh.
  2481.              Filename:        the name of the data file, enclosed in
  2482.                               quotes.
  2483.  
  2484.   See Also:  DataBlkR, DataByteA, DataByteR, DataDwordA, DataDwordR,
  2485.              DataStrA, DataStrR, DataWordA, DataWordR, SaveDataA
  2486.   ────────────────────────────────────────────────────────────────────────
  2487.  
  2488.  
  2489.   Condition: DataBlkR
  2490.  
  2491.   Purpose:   Compares a block of data in RAM with the contents of a file.
  2492.              The data block is specified by giving the segment and offset
  2493.              addresses relative to the beginning of the first segment of
  2494.              the current foreground process.  If the bytes in the block
  2495.              match the bytes in the file, the condition returns the
  2496.              result true.  The number of bytes compared depends on the
  2497.              file size.
  2498.  
  2499.   Syntax:    DataBlkR(Segment,Offset,Filename)
  2500.              Segment:         the segment address of the beginning of the
  2501.                               block, between 0000h and ffffh.
  2502.              Offset:          the offset of the beginning of the block,
  2503.                               between 0000h and ffffh.
  2504.              Filename:        the name of the data file, enclosed in
  2505.                               quotes.
  2506.  
  2507.   See Also:  DataBlkA, DataByteA, DataByteR, DataDwordA, DataDwordR,
  2508.              DataStrA, DataStrR, DataWordA, DataWordR, SaveDataR
  2509.   ────────────────────────────────────────────────────────────────────────
  2510.  
  2511.  
  2512.   Condition: DataByteA
  2513.  
  2514.   Purpose:   Compares a byte of data in RAM with the byte specified.  The
  2515.              byte is referenced by its absolute address (ie. the segment
  2516.              and offset addresses relative to the beginning of memory).
  2517.              If the bytes match, the condition returns the result true.
  2518.   
  2519.                                      42
  2520.  
  2521.  
  2522.   Syntax:    DataByteA(Segment,Offset,TheByte)
  2523.              Segment:         the segment address of the byte.
  2524.              Offset:          the offset of the byte.
  2525.              TheByte:         the byte to compare.
  2526.  
  2527.   See Also:  DataBlkA, DataBlkR, DataByteR, DataDwordA, DataDwordR,
  2528.              DataStrA, DataStrR, DataWordA, DataWordR
  2529.   ────────────────────────────────────────────────────────────────────────
  2530.  
  2531.  
  2532.   Condition: DataByteR
  2533.  
  2534.   Purpose:   Compares a byte of data in RAM with the byte specified.
  2535.              The byte address is specified by giving the segment and
  2536.              offset addresses relative to the beginning of the first
  2537.              segment of the current foreground process.  If the bytes
  2538.              match, the condition returns the result true.
  2539.  
  2540.   Syntax:    DataByteR(Segment,Offset,TheByte)
  2541.              Segment:         the segment address of the byte.
  2542.              Offset:          the offset of the byte.
  2543.              TheByte:         the byte to compare.
  2544.  
  2545.   See Also:  DataBlkA, DataBlkR, DataByteA, DataDwordA, DataDwordR,
  2546.              DataStrA, DataStrR, DataWordA, DataWordR
  2547.   ────────────────────────────────────────────────────────────────────────
  2548.  
  2549.  
  2550.   Condition: DataDWordA
  2551.  
  2552.   Purpose:   Compares a double word (4 bytes) of data in RAM with the
  2553.              double word specified.  The double word is referenced by
  2554.              its absolute address (ie. the segment and offset addresses
  2555.              relative to the beginning of memory).  If the dwords match,
  2556.              the condition returns the result true.
  2557.  
  2558.   Syntax:    DataDWordA(Segment,Offset,TheDword)
  2559.              Segment:         the segment address of the byte.
  2560.              Offset:          the offset of the byte.
  2561.              TheDword:        the double word to compare.
  2562.  
  2563.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordR,
  2564.              DataStrA, DataStrR, DataWordA, DataWordR
  2565.   ────────────────────────────────────────────────────────────────────────
  2566.  
  2567.  
  2568.   Condition: DataDWordR
  2569.  
  2570.   Purpose:   Compares a double word (4 bytes) of data in RAM with the
  2571.              double word specified.  The address is specified by giving
  2572.              the segment and offset addresses relative to the beginning
  2573.              of the first segment of the current foreground process.  If
  2574.              the dwords match, the condition returns the result true.
  2575.  
  2576.   Syntax:    DataDwordR(Segment,Offset,TheDword)
  2577.              Segment:         the segment address of the byte.
  2578.              Offset:          the offset of the byte.
  2579.              TheDword:        the double word to compare.
  2580.   
  2581.                                      43
  2582.  
  2583.  
  2584.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordA,
  2585.              DataStrA, DataStrR, DataWordA, DataWordR
  2586.   ────────────────────────────────────────────────────────────────────────
  2587.  
  2588.  
  2589.   Condition: DataStrA
  2590.  
  2591.   Purpose:   Compares data in RAM with the ASCII string provided.  The
  2592.              string is referenced by its absolute address (ie. the
  2593.              segment and offset addresses relative to the beginning of
  2594.              memory).  If the string matches, the condition returns the
  2595.              result true.
  2596.  
  2597.   Syntax:    DataStrA(Segment,Offset,TheString)
  2598.              Segment:         the segment address of the beginning of the
  2599.                               string.
  2600.              Offset:          the offset of the byte.
  2601.              TheString:       the string to compare, enclosed in quotes.
  2602.  
  2603.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordA,
  2604.              DataDwordR, DataStrR, DataWordA, DataWordR
  2605.   ────────────────────────────────────────────────────────────────────────
  2606.  
  2607.  
  2608.   Condition: DataStrR
  2609.  
  2610.   Purpose:   Compares data in RAM with the ASCII string provided.  The
  2611.              address is specified by giving the segment and offset
  2612.              addresses relative to the beginning of the first segment of
  2613.              the current foreground process.  If the string matches, the
  2614.              condition returns the result true.
  2615.  
  2616.   Syntax:    DataStrR(Segment,Offset,TheString)
  2617.              Segment:         the segment address of the beginning of the
  2618.                               string.
  2619.              Offset:          the offset of the byte.
  2620.              TheString:       the string to compare, enclosed in quotes.
  2621.  
  2622.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordA,
  2623.              DataDwordR, DataStrA, DataWordA, DataWordR
  2624.   ────────────────────────────────────────────────────────────────────────
  2625.  
  2626.  
  2627.   Condition: DataWordA
  2628.  
  2629.   Purpose:   Compares a word of data in RAM with the word specified.  The
  2630.              word is referenced by its absolute address (ie. the segment
  2631.              and offset addresses relative to the beginning of memory).
  2632.              If the words match, the condition returns the result true.
  2633.  
  2634.   Syntax:    DataWordA(Segment,Offset,TheWord)
  2635.              Segment:         the segment address of the byte.
  2636.              Offset:          the offset of the byte.
  2637.              TheWord:         the word to compare
  2638.  
  2639.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordA,
  2640.              DataDwordR, DataStrA, DataStrR, DataWordR
  2641.   ────────────────────────────────────────────────────────────────────────
  2642.   
  2643.                                      44
  2644.  
  2645.  
  2646.   Condition: DataWordR
  2647.  
  2648.   Purpose:   Compares a word of data in RAM with the word specified.  The
  2649.              word address is specified by giving the segment and offset
  2650.              addresses relative to the beginning of the first segment of
  2651.              the current foreground process.   If the words match, the
  2652.              condition returns the result true.
  2653.  
  2654.   Syntax:    DataWordR(Segment,Offset,TheWord)
  2655.              Segment:         the segment address of the byte.
  2656.              Offset:          the offset of the byte.
  2657.              TheWord:         the word to compare
  2658.  
  2659.   See Also:  DataBlkA, DataBlkR, DataByteA, DataByteR, DataDwordA,
  2660.              DataDwordR, DataStrA, DataStrR, DataWordA
  2661.   ────────────────────────────────────────────────────────────────────────
  2662.  
  2663.  
  2664.   Condition: EnvironVar
  2665.  
  2666.   Purpose:   Compares the string given with the strings in the DOS
  2667.              environment block.  The condition returns true if the given
  2668.              string matches one of the environment variable strings.  The
  2669.              comparison is case-insensitive.
  2670.  
  2671.   Syntax:    EnvironVar(EnvString)
  2672.              EnvString:       a string, enclosed in quotes.
  2673.  
  2674.   Example:   If EnvironVar("PROMPT=%p")
  2675.              Beep
  2676.   ────────────────────────────────────────────────────────────────────────
  2677.  
  2678.  
  2679.   Condition: InByte
  2680.  
  2681.   Purpose:   Inputs a byte from the specified I/O port and compares it to
  2682.              the byte provided.  If the bytes match, the condition
  2683.              returns true.
  2684.  
  2685.   Syntax:    InByte(PortID,TheByte)
  2686.              PortID:          the I/O port ID.
  2687.              TheByte:         the byte to be compared.
  2688.  
  2689.   See Also:  InWord
  2690.   ────────────────────────────────────────────────────────────────────────
  2691.  
  2692.  
  2693.   Condition: InWord
  2694.  
  2695.   Purpose:   Inputs a word from the specified I/O port and compares it to
  2696.              the word provided.  If the words match, the condition
  2697.              returns true.
  2698.  
  2699.   Syntax:    InWord(PortID,TheWord)
  2700.              PortID:          the I/O port ID.
  2701.              TheWord:         the word to be compared.
  2702.  
  2703.   See Also:  InByte
  2704.   ────────────────────────────────────────────────────────────────────────
  2705.   
  2706.                                      45
  2707.  
  2708.  
  2709.   Condition: KbdLocked
  2710.  
  2711.   Purpose:   Returns true if the keyboard is currently locked by
  2712.              AutoScript.
  2713.  
  2714.   Syntax:    KbdLocked
  2715.   ────────────────────────────────────────────────────────────────────────
  2716.  
  2717.  
  2718.   Condition: ProgName
  2719.  
  2720.   Purpose:   Compares the string provided with the name of the current
  2721.              foreground application (less the ".EXE" or ".COM").  If the
  2722.              strings match, the condition returns true.  The comparison
  2723.              is case-insensitive.
  2724.  
  2725.   Syntax:    ProgName(NameString)
  2726.              NameString:      an ASCII string, enclosed in quotes.
  2727.  
  2728.   Example:   If ProgName("myprog")        ;see if MYPROG.EXE is running
  2729.              LoadScr("myprog.scr")        ;if so, play script: myprog.scr
  2730.              Else LoadScr("another.scr")  ;play a different script
  2731.   ────────────────────────────────────────────────────────────────────────
  2732.  
  2733.  
  2734.   Condition: Register
  2735.  
  2736.   Purpose:   Compares the value that the specified register contained
  2737.              immediately following execution of a GenIntr command, with
  2738.              the value provided.  If the values match, the condition
  2739.              returns true.
  2740.  
  2741.   Syntax:    Register(RegName,Value)
  2742.              RegName:         the register, one of the following:
  2743.                               AH, AL, BH, BL, CH, CL, DH, DL,
  2744.                               AX, BX, CX, DX, SI, DI, DS, ES.
  2745.              Value:           the number to compare with the register value.
  2746.  
  2747.   Example:   SetRegister(AH,12h)    ;get video configuration
  2748.              SetRegister(BL,10h)    ;information
  2749.              Genintr(10h)
  2750.              If Register(BH,1) Log("Monochrome Display installed")
  2751.              Else Log(Color display installed")
  2752.  
  2753.   See Also:  GenIntr, SetRegister
  2754.   ────────────────────────────────────────────────────────────────────────
  2755.  
  2756.  
  2757.   Condition: Scrn
  2758.  
  2759.   Purpose:   Compares the contents of the current screen with the screen
  2760.              saved in a file by the SaveScrn command.  Areas of the
  2761.              screen masked by the Mask command are not compared.  The
  2762.              condition returns true if the screens match.
  2763.  
  2764.   Syntax:    Scrn(Filename)
  2765.              Filename:        name of the screen file, enclosed in quotes.
  2766.  
  2767.   See Also:  Mask, SaveScrn
  2768.   ────────────────────────────────────────────────────────────────────────
  2769.   
  2770.                                      46
  2771.  
  2772.  
  2773.   Condition: ScrnTxt
  2774.  
  2775.   Purpose:   Compares a line of text on the screen with the string provided.
  2776.              The condition returns true if the text matches.
  2777.  
  2778.   Syntax:    ScrnTxt(Row,Col,TheString)
  2779.              Row:             the row on the screen where the text appears.
  2780.              Col:             the starting column of the screen text.
  2781.                               Row/col numbering starts at 0,0.
  2782.              TheString:       the string to compare, enclosed in quotes.
  2783.  
  2784.   See Also:  ScrnTxtF
  2785.   ────────────────────────────────────────────────────────────────────────
  2786.  
  2787.  
  2788.   Condition: ScrnTxtF
  2789.  
  2790.   Purpose:   Compares a block of text on the screen with the contents of
  2791.              a file.  The condition returns true if the screen text
  2792.              matches the file contents.
  2793.  
  2794.   Syntax:    ScrnTxtF(LeftCol,TopRow,RightCol,BottomRow,Filename)
  2795.              LeftCol,TopRow,RightCol,BottomRow:
  2796.                               the top-left and bottom-right coordinates
  2797.                               of the text to copy.    Row/col numbering
  2798.                               starts at 0,0.
  2799.              Filename:        the name of the file which contains the
  2800.                               text to be compared, enclosed in quotes.
  2801.  
  2802.   Example:   If ScrnTxtF(1,3,18,29,"screen.sav")   ;see if text matches
  2803.              Beep
  2804.  
  2805.   See Also:  CopyScrnTxt, ScrnTxt
  2806.   ────────────────────────────────────────────────────────────────────────
  2807.  
  2808.  
  2809.   Condition: UserKey
  2810.  
  2811.   Purpose:   Compares a the given key with the last key pressed by the
  2812.              user.  The condition returns true if the keys match.
  2813.  
  2814.   Syntax:    UserKey(Key)
  2815.              Key:             any key from Table 5-1.
  2816.  
  2817.                                      47
  2818.  
  2819.  
  2820.   The following are the key names recognized by the script compiler.  Note
  2821.   that the left and right Shift keys are listed separately:
  2822.  
  2823.     ╔═════════════════════════════════════════════════════════════════╗
  2824.     ║ A      B      C      D      E      F      G      H      I       ║
  2825.     ║ J      K      L      M      N      O      P      Q      R       ║
  2826.     ║ S      T      U      V      W      X      Y      Z      Esc     ║
  2827.     ║ 1      2      3      4      5      6      7      8      9       ║
  2828.     ║ 0      =      \      [      ]      ;      '      ,      .       ║
  2829.     ║ /      Bs     Tab    Capslk LShift RShift Enter  Space  Ctrl    ║                          ║
  2830.     ║ Alt    F1     F2     F3     F4     F5     F6     F7     F8      ║
  2831.     ║ F9     F10    F11    F12    Ins    Del    Home   End    PgUp    ║
  2832.     ║ PgDn   UArrow DArrow LArrow RArrow ScrlLk NumLk  KP*    KP-     ║
  2833.     ║ KP+    ANYKEY (can be used only for unpause and single-step)    ║
  2834.     ╚═════════════════════════════════════════════════════════════════╝
  2835.                           Table 5-1 - Key Names
  2836.  
  2837.  
  2838.   Chapter 6    Autoscript Utilities
  2839.  
  2840.   6.1      Script Compiler
  2841.  
  2842.   The AutoScript script compiler is a utility which converts ASCII text
  2843.   files into binary script files.  To use the script compiler to compile
  2844.   a script, first create a text file, following the syntax rules given in
  2845.   Chapter 5.  Then type:
  2846.  
  2847.      AC filename [outputfile] <Enter>
  2848.  
  2849.   where filename is the name of the input text file, and outputfile is an
  2850.   optional name which the output binary script file is to be given.  If
  2851.   you do not provide an output file name, the output file will be given
  2852.   the same name as the input file, with the extension ".SCR".
  2853.  
  2854.  
  2855.   6.2      Script Uncompiler
  2856.  
  2857.   The AutoScript script uncompiler is a utility which converts AutoScript
  2858.   binary script files to ASCII text files which conform to the syntax rules
  2859.   given in Chapter 5.  It essentially does the inverse of what the script
  2860.   compiler does.  To uncompile a script file, type:
  2861.  
  2862.      AUC filename [outputfile] <Enter>
  2863.  
  2864.   where filename is the name of the binary script file, and outputfile is
  2865.   an optional name which the output text file is to be given.  If you do
  2866.   not provide an output file name, the output file will be given the same
  2867.   name as the input file, with the extension ".SCA".
  2868.  
  2869.  
  2870.   6.3      Screen Comparison Utility
  2871.  
  2872.   The AutoScript screen comparison utility allows you to compare two text
  2873.   screens saved by AutoScript.  To use this utility, type:
  2874.  
  2875.      ASC filename1 filename2 <Enter>
  2876.   
  2877.                                      48
  2878.  
  2879.  
  2880.   where filename1 and filename2 are the names of two screen files created
  2881.   by AutoScript.  The screen comparison utility will display the first
  2882.   screen as it was saved.  Using the space bar, you can scroll between
  2883.   views of the first screen, the differences between the first and second
  2884.   screens (ie. the characters and/or attributes on the first screen which
  2885.   are different than those in the same locations on the second screen), the
  2886.   second screen, and the differences between the second and first screens.
  2887.   Pressing F1 at any time will show you which screen you are currently
  2888.   viewing, and Escape will exit the utility.
  2889.  
  2890.  
  2891.   6.4      Kbrate
  2892.  
  2893.   The program KBRATE is a small utility which allows you to change your
  2894.   keyboard's repeat (typematic) rate and delay.  The rate and delay set
  2895.   with this utility will stay in effect until it is changed or the PC is
  2896.   rebooted, and has nothing to do with whether or not AutoScript is loaded.
  2897.   To use this utility, type:
  2898.  
  2899.      KBRATE rate delay <Enter>
  2900.  
  2901.   where rate and delay are indexes into tables of typematic rates and
  2902.   delays, respectively.  The following are the valid typematic rates and
  2903.   delays, and the appropriate values for the arguments rate and delay.
  2904.  
  2905.   Typematic Rates (repeats per second):
  2906.  
  2907.     0: 30.0    8:  15.0    16: 7.5    24: 3.7
  2908.     1: 26.7    9:  13.3    17: 6.7    25: 3.3
  2909.     2: 24.0    10: 12.0    18: 6.0    26: 3.0
  2910.     3: 21.8    11: 10.9    19: 5.5    27: 2.7
  2911.     4: 20.0    12: 10.0    20: 5.0    28: 2.5
  2912.     5: 18.5    13: 9.2     21: 4.6    29: 2.3
  2913.     6: 17.1    14: 8.6     22: 4.3    30: 2.1
  2914.     7: 16.0    15: 8.0     23: 4.0    31: 2.0
  2915.  
  2916.  
  2917.   Typematic Delays (milliseconds):
  2918.  
  2919.     0: 250
  2920.     1: 500
  2921.     2: 750
  2922.     3: 1000 (1 sec)
  2923.  
  2924.  
  2925.   Chapter 7    Compatibility issues
  2926.  
  2927.   AutoScript is compatible with DOS 3.0 and higher and most DOS
  2928.   applications.  It will not work under Microsoft Windows.  Other
  2929.   keyboard enhancement programs should not be loaded together with
  2930.   AutoScript, as they will likely conflict with each other.  Some DOS
  2931.   applications, such as word processors provide their own key repeat
  2932.   feature.  When running such an application, AutoScript's key repeat
  2933.   feature should be disabled (ie. repeat rate should be set to 0).  Keys
  2934.   repeated by the application will be inaccessible by AutoScript, and
  2935.   therefore cannot be recorded.  Also, some applications intercept the
  2936.   PC's keypress interrupt (int 9), and therefore they may prevent
  2937.   AutoScript from detecting some keystrokes.
  2938.   
  2939.                                      49
  2940.  
  2941.  
  2942.   Hot key assignments should be changed, if necessary, before an
  2943.   application is run, so that they will not conflict with any keys defined
  2944.   by the application.  When AutoScript detects that one of its hot keys
  2945.   has been pressed, it causes the keypress to be missed by other processes.
  2946.   This will usually result in the foreground application not detecting the
  2947.   keypress.
  2948.  
  2949.  
  2950.   Chapter 8    User Support
  2951.  
  2952.   I am most interested in receiving comments and suggestions from users.
  2953.   I hope that I will be able to make future improvements to the software
  2954.   and documentation based on user feedback.  I will also be happy to
  2955.   help users with problems or questions they have regarding AutoScript.
  2956.   Comments and questions should be directed to me via US mail, voice
  2957.   telephone, or the RIME Shareware conference.  Telephone support will
  2958.   be restricted to reasonable hours (>9 AM  &  <10 PM Central Time).  I
  2959.   should normally be available between the hours of 3-7 PM Central Time.
  2960.   I cannot guarantee that I will be available at other times, or that I
  2961.   will be able to return all telephone calls.
  2962.  
  2963.   Larry Michaels
  2964.   P.O. Box 59379
  2965.   Chicago, IL 60659
  2966.   (312) 973-0781
  2967.  
  2968.   Thank you for trying AutoScript.
  2969.  
  2970.  
  2971.   APPENDIX - New in Version 1.04
  2972.  
  2973.   This version (1.04) includes the same features as versions 1.0 through
  2974.   1.02, with the following bug fixes:
  2975.  
  2976.     - Keyboard buffer overflow during playback has been fixed.
  2977.     - Nested loops and blocks now work correctly.
  2978.     - Play pause problem has been fixed.
  2979.     - Text script files without EOF or blank character at the end now
  2980.       compile properly.
  2981.     - Stuffing text files while in Record Mode now works correctly.
  2982.  
  2983.  
  2984.  
  2985.